如何限制子类日志级别在java中传播到父类?

时间:2012-11-16 06:12:09

标签: java logging logback apache-commons-logging

我正在分析应用程序日志,并确定有很多调试日志来自一个spring的库中的类。

我已经在spring中扩展了一个类,如果我的自定义类将日志级别设置为debug,则会在整个父层次结构中打开调试日志。

我想为所有特定于应用程序的类设置日志级别以进行调试,同时将所有其他类保持为信息。

1 个答案:

答案 0 :(得分:0)

在您的日志配置文件中定义两个不同的记录器,一个在INFO级别,一个在DEBUG级别,如下所示:

#Logger option with DEBUG for package1
log4j.logger.com.package1=DEBUG,DebugFileAppender

#Logger option with INFO for package1
log4j.logger.com.package1=INFO,InfoFileAppender

log4j.appender.DebugFileAppender=org.apache.log4j.FileAppender
log4j.appender.DebugFileAppender.File=debug.log
log4j.appender.DebugFileAppender.MaxFileSize=100MB
log4j.appender.DebugFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugFileAppender.layout.ConversionPattern= %5p [%t] (%F:%L) - %m%n

log4j.appender.InfoFileAppender=org.apache.log4j.FileAppender
log4j.appender.InfoFileAppender.File=info.log
log4j.appender.InfoFileAppender.MaxFileSize=100MB
log4j.appender.InfoFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoFileAppender.layout.ConversionPattern= %5p [%t] (%F:%L) - %m%n