Search code examples
javaloggingconfigurationlog4jlog4j2

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, e.g.:

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.


Solution

  • 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">
      ...