package org.pitest.coverage.execute;

import org.pitest.testapi.Description;
import org.pitest.testapi.TestListener;
import org.pitest.testapi.TestResult;

public class ErrorListener implements TestListener {

  @Override
  public void onRunStart() {
  }

  @Override
  public void onTestStart(final Description d) {
  }

  @Override
  public void onTestFailure(final TestResult tr) {
    System.out.println("FAIL " + tr.getDescription() + " -> "
        + tr.getThrowable());
  }

  @Override
  public void onTestSkipped(final TestResult tr) {
  }

  @Override
  public void onTestSuccess(final TestResult tr) {

  }

  @Override
  public void onRunEnd() {
  }

}

@@ -152,61 +152,208 @@
 lt;%0A
-%0Apublic class ErrorListener implements TestListener %7B
+import org.pitest.util.Log;%0A%0Aimport java.util.logging.Level;%0Aimport java.util.logging.Logger;%0A%0Apublic class ErrorListener implements TestListener %7B%0A  private static final Logger LOG = Log.getLogger();
 %0A%0A  
@@ -533,36 +533,29 @@
     
-System.out.println(%22FAIL %22 +
+LOG.log(Level.SEVERE,
  tr.
@@ -574,27 +574,20 @@
 on()
- + %22 -%3E %22%0A        +
+.toString(),
  tr.

Make the stack trace visible in the logs when a test fails without mutation