How to turn off log4j warnings?

2019-01-26 04:55发布

问题:

I'm running a Java app that depends on a few libraries (Axis2) which use log4j. I don't use log4j and don't have any configuration file. I'd like to just completely disable log4j and squelch any and all warnings that it spits out. Right now, when I run my app, when I call one of the library's methods, I see:

log4j:WARN No appenders could be found for logger 
(org.apache.axis2.deployment.FileSystemConfigurator).
log4j:WARN Please initialize the log4j system properly.

Is there some static log4j disable method I can call? I tried Logger.getRootLogger().removeAllAppenders(); and this did not work (I still see the warnings).

回答1:

You could try

Logger.getRootLogger().setLevel(Level.OFF);


回答2:

The Apache libraries are horribly user-unfriendly. If I wanted logging, I would have turned it on myself. To turn the logging off:

  1. Add log4j-1.2.xxx.jar to your CLASSPATH.
  2. Then add the following to your Java code before the logging starts:

    org.apache.log4j.Logger.getRootLogger().setLevel(org.apache.log4j.Level.OFF);



回答3:

Make sure you import org.apache.log4j.Level, not the java.util.logging.Level, otherwise you get an error saying "The method setLevel(Level) in the type Category is not applicable for the arguments (Level)"



标签: java log4j