我正在使用使用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);
}

07-24 19:09