为什么log4j在DEBUG中完全记录了所有内容?

Own*_*ous 3 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
Run Code Online (Sandbox Code Playgroud)

现在我想要的只是我要在打印的读者类下定义的调试语句.我遇到的问题是,我在我的阅读器类中使用的Apache HTTP包看起来也开始转储它的调试内容.

我怎样才能将此限制仅限于班级中的内容?我在网上看了看,我不确定我是否只是完全错过了一些东西,但我似乎无法解决这个问题.

谢谢!

Wei*_* Li 5

您似乎已将rootLogger设置为DEBUG级别:

log4j.rootLogger=DEBUG
Run Code Online (Sandbox Code Playgroud)

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

因此,将rootLogger的级别设置为ERROR或WARN,然后仅com.myclass.readers在DEBUG级别下.

log4j.rootLogger=ERROR, READER
Run Code Online (Sandbox Code Playgroud)