簡體   English   中英

是否可以使用Log4J僅記錄一個級別的消息

[英]Is it possible to log only one level messages with Log4J

如果我將日志級別設置為DEBUG,則將記錄/打印所有日志級別> = DEBUG的消息。 但是我可以將日志級別設置為僅DEBUG,以便打印僅具有DEBUG的日志級別的消息。 或者可以給出一個范圍,比如打印日志級別> = DEBUG但是<ERROR?

也許你可以使用LevelMatchFilter?

在某些情況下,您必須根據級別將日志寫入不同的輸出。 如何通過簡單配置Log4j來完成? 下面有一些方法。

http://wiki.apache.org/logging-log4j/LogToAppenderByLevel

正如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

在我的源代碼中,我只將ERROR消息附加到名為TestLevels.txt的文件中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM