我正在使用log4j.properties,我有一个名为RDev的appender。
我想将RDev appender的级别设置为DEBUG,除了特定的包(在我的情况下为HTMLUnit)
我当前的log4j.properties是这样的:
log4j.rootLogger=debug RDev, test
log4j.appender.RDev=org.apache.log4j.RollingFileAppender
log4j.appender.RDev.File=D:/logs
log4j.appender.RDev.MaxFileSize=5mb
log4j.appender.RDev.MaxBackupIndex=10
log4j.appender.RDev.layout=org.apache.log4j.PatternLayout
log4j.appender.RDev.layout.ConversionPattern=[%5p %d{MMM/dd HH:mm:ss}] [%t] (%F:%L) - %m%n
我希望过滤/删除这些包的DEBUG日志:
com.gargoylesoftware.htmlunit
org.apache.commons.httpclient
org.apache.http.impl.conn
* UPDATE * 我尝试了这个,它适用于所有附录:
# Set specific logger levels.
log4j.logger.org.mortbay.log=fatal
log4j.logger.org.apache.http=fatal
log4j.logger.org.apache.http.headers=fatal
log4j.logger.org.apache.http.wire=fatal
(来自https://code.google.com/p/spidey/wiki/HtmlUnitErrors)
现在的问题是如何将这个配置限制在一个附件? (不是所有的人) (例如,我想在文件中看到调试,而不是控制台。)
答案 0 :(得分:1)
您是否仍希望查看这些包的DEBUG以上级别的日志行?如果是这样,来自Apache的this log4j tutorial描述了一种方法;看起来有点超过一半,在文本中写着“假设我们不再有兴趣看到属于com.foo包的任何组件的输出。”