我正在运行一个Java应用程序,它取决于使用log4j的几个库(Axis2)。我不使用log4j,也没有任何配置文件。我想完全禁用log4j并压制它吐出的所有警告。现在,当我运行我的应用程序时,当我调用其中一个库的方法时,我看到:
log4j:WARN No appenders could be found for logger
(org.apache.axis2.deployment.FileSystemConfigurator).
log4j:WARN Please initialize the log4j system properly.
我可以调用一些静态log4j禁用方法吗?我尝试了Logger.getRootLogger()。removeAllAppenders();这不起作用(我仍然看到警告)。
答案 0 :(得分:27)
你可以尝试
Logger.getRootLogger().setLevel(Level.OFF);
答案 1 :(得分:7)
Apache库对用户不友好。如果我想要记录,我会自己打开它。要关闭注销:
然后在开始记录之前将以下内容添加到Java代码中:
org.apache.log4j.Logger.getRootLogger()setLevel(org.apache.log4j.Level.OFF);
答案 2 :(得分:0)
确保导入org.apache.log4j.Level,而不是java.util.logging.Level,否则会出现错误“类别类别中的方法setLevel(Level)不适用于参数(Level) )“