我需要整理属于几个类别的所有log4j日志,并在每天结束时发送一封邮件。当我使用org.apache.log4j.DailyRollingFileAppender将所有类别记录到同一个(过时的)文件中时,我无法找到一种方法来过滤生成的日志而不阅读日志文件。如果有人可以建议我使用java来做到这一点,那就太好了。以下代码是我需要过滤的一些日志类别的示例。
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