2010-05-04 39 views
9

如果我将日志级别设置为DEBUG,则日志级别> = DEBUG的所有消息都将被记录/打印。 但是,我可以将日志级别设置为仅DEBUG,这样将只打印日志级别与DEBUG的消息。或者可以给出一个范围,如打印日志级别> = DEBUG但是<错误的所有消息?是否可以使用Log4J仅记录一个级别的消息

+0

到文件,我不这么认为,没有。 – skaffman 2010-05-04 07:07:24

+0

如果你打算对原始设计做些什么,你可以修改它的源代码。那么,为什么不按照设计? – 2010-05-04 07:18:20

+0

一直试图弄清楚同样的事情。 – McTrafik 2012-05-04 18:56:32

回答

1

至于说Jarle你必须使用LevelMatchFilter。 我将与一个简单的检查,证明它:

log4j.rootLogger = WARN, admin 
log4j.appender.admin=org.apache.log4j.rolling.RollingFileAppender 
     log4j.appender.admin.rollingPolicy = org.apache.log4j.rolling.TimeBasedRollingPolicy 
     log4j.appender.admin.rollingPolicy.FileNamePattern = Files\\TestLevels-%d{dd-MM-yyy}.txt 
     log4j.appender.admin.layout = org.apache.log4j.PatternLayout 
     log4j.appender.admin.layout.ConversionPattern = Date: %d{dd-MM-yyyy} Time: %d{HH:mm:ss} Message [%m]%n 
     log4j.appender.admin.filter.01=org.apache.log4j.varia.LevelMatchFilter 
     log4j.appender.admin.filter.01.LevelToMatch=FATAL 
     log4j.appender.admin.filter.01.AcceptOnMatch=false 
     log4j.appender.admin.filter.02=org.apache.log4j.varia.LevelMatchFilter 
     log4j.appender.admin.filter.02.LevelToMatch=ERROR 
     log4j.appender.admin.filter.02.AcceptOnMatch=true 
     log4j.appender.admin.filter.03=org.apache.log4j.varia.LevelMatchFilter 
     log4j.appender.admin.filter.03.LevelToMatch=WARN 
     log4j.appender.admin.filter.03.AcceptOnMatch=false 

在我的源代码我只追加错误消息与名TestLevels.txt

相关问题