Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 永远关闭log4j_Java_Eclipse_Log4j - Fatal编程技术网

Java 永远关闭log4j

Java 永远关闭log4j,java,eclipse,log4j,Java,Eclipse,Log4j,我使用的第三方jar使用log4j和垃圾邮件太多了(使eclipse崩溃),有没有一种方法可以擦除所有日志记录,就好像log4j根本不存在一样?通过编程或项目设置,只要它是stfu,任何东西都可以 我试过了 List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers()); loggers.add(LogManager.getRootLogger()); for ( Logger

我使用的第三方jar使用log4j和垃圾邮件太多了(使eclipse崩溃),有没有一种方法可以擦除所有日志记录,就好像log4j根本不存在一样?通过编程或项目设置,只要它是stfu,任何东西都可以

我试过了

List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers());
loggers.add(LogManager.getRootLogger());
for ( Logger logger : loggers ) {
    logger.setLevel(Level.OFF);
}

Log4j2使用多个上下文。修改上述代码:

LoggerContext ctx = (LoggerContext) LogManager.getContext();
Configuration config = ctx.getConfiguration();
Collection<LoggerConfig> loggers = config.getLoggers().values();
for(LoggerConfig cfg: loggers) {
  cfg.setLevel(Level.OFF);
}
LoggerContext ctx=(LoggerContext)LogManager.getContext();
Configuration config=ctx.getConfiguration();
Collection loggers=config.getLoggers().values();
用于(LoggerConfig cfg:loggers){
cfg.setLevel(Level.OFF);
}

Log4j2使用多个上下文。修改上述代码:

LoggerContext ctx = (LoggerContext) LogManager.getContext();
Configuration config = ctx.getConfiguration();
Collection<LoggerConfig> loggers = config.getLoggers().values();
for(LoggerConfig cfg: loggers) {
  cfg.setLevel(Level.OFF);
}
LoggerContext ctx=(LoggerContext)LogManager.getContext();
Configuration config=ctx.getConfiguration();
Collection loggers=config.getLoggers().values();
用于(LoggerConfig cfg:loggers){
cfg.setLevel(Level.OFF);
}

好的,如何获取loggerContext和配置?或者甚至是一个它没有编译的所有正在运行的loggerContext和配置的列表,如上面的示例,我使用log4j 2.1,我是否应该尝试使用以前的版本?LogManager.getContext()方法不存在config.getLoggers()方法不存在类型org.apache.logging.log4j.Level无法解析。它是从必需的.class文件间接引用的。如果可能,请升级到最新版本。2.8将在几天后发布。您是否正在导入org.apache.logging.log4j.LogManager而不是java.util.logging.LogManager?因为它确实存在:好吧,我如何获得loggerContext和配置?或者甚至是一个它没有编译的所有正在运行的loggerContext和配置的列表,如上面的示例,我使用log4j 2.1,我是否应该尝试使用以前的版本?LogManager.getContext()方法不存在config.getLoggers()方法不存在类型org.apache.logging.log4j.Level无法解析。它是从必需的.class文件间接引用的。如果可能,请升级到最新版本。2.8将在几天后发布。您是否正在导入org.apache.logging.log4j.LogManager而不是java.util.logging.LogManager?因为它确实存在: