java - 永久关闭 log4j

标签 java eclipse log4j

我使用的第 3 方 jar 使用 log4j 和垃圾邮件真的太多了(使 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);
}

关于java - 永久关闭 log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41789428/

相关文章:

java - 以图形方式自定义 Nimbus 外观和感觉的工具

javascript - Eclipse 中 JavaScript 的语法检查

c++ - 如何在 Eclipse 中设置 linux C++ 项目?

java - 在运行时更改级别(通过 log4j.properties 和通过代码)

java - 如何使 RadioButton 看起来像 JavaFX 中的常规 Button

java - java获取LinkedList中包含给定值的节点的索引

java - 以编程方式设置 log4j 属性文件中的值?

java - Log4j 与 Logback : concurrent writing to same log?

java - 当管理员和其他普通用户按下相同的登录按钮时,如何让管理员和其他普通用户访问 Java 中的不同 GUI 到 MySQL 连接?

android - Android NetBEANS 插件和 Eclipse 插件的区别?