java - 为什么 log4j 在调试时绝对记录所有内容?

标签 java logging log4j

所以我遇到了一个问题,当我将根记录器切换到 DEBUG 时,log4j 似乎想要记录所有可以“调试”的东西。

这是我的文件:

log4j.rootLogger=DEBUG, READER
log4j.appender.READER=org.apache.log4j.ConsoleAppender

log4j.appender.READER.layout=org.apache.log4j.PatternLayout

log4j.appender.READER.layout.ConversionPattern=[%-5p] %t->%c{1} - %m%n

com.myclass.readers=DEBUG, READER

现在我想要的是我在要打印的阅读器类下定义的调试语句。我遇到的问题是,我在阅读器类中使用的 Apache HTTP 包似乎也开始转储其调试内容。

我如何才能将其限制为我类(class)的内容?我在网上四处查看,我不确定我是否完全遗漏了一些东西,但我似乎无法弄清楚这一点。

谢谢!

最佳答案

看来您已将 rootLogger 设置为 DEBUG 级别:

log4j.rootLogger=DEBUG

如果没有单独指定,所有记录器都将继承rootLogger的级别。

所以设置rootLogger的级别为ERROR或WARN,然后只有com.myclass.readers处于DEBUG级别。

log4j.rootLogger=ERROR, READER

关于java - 为什么 log4j 在调试时绝对记录所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21298863/

相关文章:

java.lang.ClassNotFoundException : org. apache.log4j.Level 异常

java - 接口(interface)/抽象类

android - 在没有 adb 的情况下启用 Samsung Galaxy Note II 日志记录

java - 迁移 Play ! Framework 1.2.3 应用程序 Controller 到 2.0

python - 哪个记录器在gunicorn 中输出这个?

typescript - Deno 记录器 FileHandler 不写入文件

Java 日志记录 : multiple small file vs one big

spring - 如何为 Tomcat 设置 Spring 日志

java - 何时使用专门的流方法而不是 Collectors 类中的方法,反之亦然?

java - c++ 中的 clock() 时间与 java 中的 System.CurrentTimeMillis() 之间的时差