我有一個要求,整理屬於幾個類別的所有log4j日誌,並在每天結束時發送郵件。由於我使用org.apache.log4j.DailyRollingFileAppender將所有類別記錄到相同(過時)的文件中,所以我無法找出一種方法來在不通讀日誌文件的情況下過濾生成的日誌。如果有人能夠建議我使用java來做到這一點,那將會很棒。以下代碼是我需要過濾的一些日誌類別的示例。有沒有辦法過濾特定類別的log4j日誌
log.fatal("Fatal error message");
log.error("Error message");
如果最後過濾是不可能的,如果我至少可以找到覆蓋這些類別的函數的方法,那應該就足夠了。我的log4j.properties看起來像這樣。
log =/usr/end_of_day_logs
log4j.rootLogger = DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${log}/log.out
log4j.appender.FILE.Append=true
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm} [%C %x~ %M:%L] %-5p - %m%n
請不要錯過選擇使用log4j 2 - beta,但已經非常穩定。它給了你更多的過濾選項比log4j 1系列 – Christian