Logging level under maven surefire

前端 未结 4 1149
感情败类
感情败类 2020-12-06 09:31

I\'m unable to adjust java logging\'s logging level. I\'m using maven surefire (mvn test), and trying to adjust from the default INFO to e.g. FINEST.

I have logging.

4条回答
  •  情深已故
    2020-12-06 10:07

    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.

提交回复
热议问题