I was looking at this exact issue, but did not want a project configuration (pom.xml) file change for every time I need specific logging on a test.
The -D property works from maven command line.
Thus you can select the logging configuration file from the command line:
mvn -Djava.util.logging.config.file=`enter filename here` test
If you are using the generic level denominator .level=FINEST
be aware that 3rd party logging will also appear at that level.
To disable or set the maven or 3rd party logging to a specific level use explicit log level selection for those classes in the selected log configuration file.
I have a lot of log lines from com.google.inject.....
aug 08, 2014 12:14:33 PM com.google.inject.internal.util.$Stopwatch resetAndLog
FINE: Instance member validation: 3ms
aug 08, 2014 12:14:33 PM com.google.inject.internal.util.$Stopwatch resetAndLog
FINE: Provider verification: 1ms
aug 08, 2014 12:14:33 PM com.google.inject.internal.util.$Stopwatch resetAndLog
FINE: Static member injection: 1ms
So I add:
com.google.inject.level=INFO
to the file. Remember that the level setting is recursive to all subclasses. Thus com.level=NONE
will disable all logging for all loggers from the com
domain.
Combining this with the test select feature -Dtest=...
in the surefire plugin described here is very good for isolating bugs and errors.