When a test fails in maven the surefire test report xml files in target/surefire-reports/TEST-<test-name>.xml
only shows the Standard Output System.output
or Standard Error System.err
When I use the jdk java.util.logging.Logger
all the logging shows in the Standard Error <system-err> tag
, but it does not show when I use log4j.
The logging with log4j is working fine through a FileAppender and a ConsoleAppender. It shows in the full console output, but not on the individual test report files.
- Can I configure log4j to redirect its output to
System.out
so it shows in surefire rerports? - Can I tell surefire to also show the log4j debug logging?
Option one:
For standard logging (System.out/System.err), you can have the following output:
This will generate output files for each of the tests.
Option two:
For a log4j configuration you can create a custom log4j.xml / log4j.properties and simply place it under src/test/resources.
Update the surefire plugin version.
Using version 2.9 the log4j output appears in
<system-out>
when using the ConsoleAppender