我正在使用使用log4j和垃圾邮件的第三方jar确实太多了(使eclipse崩溃),有没有办法清除所有日志记录,好像log4j最初不存在?以编程方式或通过项目设置,一切都可以,只要它可以进行。
我试过了
List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers());
loggers.add(LogManager.getRootLogger());
for ( Logger logger : loggers ) {
logger.setLevel(Level.OFF);
}
但是不会在我的设置中编译:
LogManager.getCurrentLoggers() and
LogManager.getRootLogger() do not exist.
最佳答案
Log4j2使用多个上下文。修改上面的代码:
LoggerContext ctx = (LoggerContext) LogManager.getContext();
Configuration config = ctx.getConfiguration();
Collection<LoggerConfig> loggers = config.getLoggers().values();
for(LoggerConfig cfg: loggers) {
cfg.setLevel(Level.OFF);
}