简体   繁体   中英

Disable logging from log4j 2 library, how?

I'm using log4j 2 for logging and want to turn off the log messages from the library itself, eg:

2017-02-20 07:36:38,160 main DEBUG Took 0.001600 seconds to load 0 plugins from package org.apache.logging.log4j.test

I got the following in my log4j2.XML file but I still get DEBUG messages like the one above:

<Logger name="org.apache.logging" level="error" additivity="false">
    <AppenderRef ref="STDOUT" />
</Logger>

This question is not a duplicate of Disabling Log4J Output in Java because I don't want to turn off all output, only the output from the log4j 2 library itself. So I still want my code to generate log output.

You can control the internal logging Log4j2 prints to the console with the status attribute at the top of the configuration file.

I would recommend that you switch off the verbose debug -level logging but keep the warn and error level logging so you get informed when something goes wrong.

To do this, change the beginning of the configuration file to this:

<Configuration status="WARN">
  ...

Be careful if you are migrating from log4j 1.x as I am trying to do. I've correctly configured log4j2 but somehow there was still log4j as inherited dependency (and a inherited configuration) in my project. The side effect of that is that both log4j are able to log, this is pretty annoying and pretty impossible to debug.

"

将日志记录根级别设置为<Root level="off">

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM