log4j - 配置,忽略lib / jar日志记录

时间:2015-01-07 06:14:59

标签: java logging log4j

我正在研究一个java应用程序,我正在使用log4j进行日志记录。我的" log4j.properties" 文件(在WEB-INF / conf中)就在这里 -

log4j.rootLogger=info, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p %t %c - %m%n 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=C:/billingAutomationService/infotrac20.log
log4j.appender.R.MaxFileSize=30MB 
log4j.appender.R.MaxBackupIndex=10 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

在我的应用程序中,有一些logger.debug("debug message")的调试消息。但是在配置中我没有在我的日志文件中看到这些调试消息 - " stdout.log" 。要在我的日志文件中查看调试消息(" stdout.log" ),我在log4j.properties文件中添加了以下行 -

 log4j.rootLogger=debug,stdout  

但添加此行可以在整个项目中启用jar / lib上的所有' DEBUG' 级别。我使用的是springhibernate和其他jar / libs的日志。此事件使我的日志文件(" stdout.log" )非常大,即使在单个操作上也是如此。因为很多' DEBUG' 消息来自标准的lib / jars,我不想调试。有没有办法关闭来自lib / jars的调试消息?

由于

1 个答案:

答案 0 :(得分:1)

请检查以下主题。

log4j: package-specific logging

通常你会为所有文件启动一个公共包,只为这些包名启用调试。

使用root logger作为警告。

另外

Specify only some packages to have debug output