Roland
Roland

Reputation: 7875

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.

Upvotes: 6

Views: 22395

Answers (3)

giaffa86
giaffa86

Reputation: 729

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.

Upvotes: 0

Remko Popma
Remko Popma

Reputation: 36844

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

Upvotes: 11

Atul
Atul

Reputation: 1556

Set logging root level to <Root level="off">

Upvotes: 3

Related Questions