Night_zzz 2020-10-20 10:35 采纳率: 33.3%
浏览 184

log4j接管tomcat的日志系统,按天生成日志,有时今天的日志会跑到昨天甚至前天的文件里,这是为啥?

log4j接管tomcat的日志系统,按天生成日志,有时今天的日志会跑到昨天甚至前天的文件里,(注意:是接管tomcat日志,不是在项目中配置log4j);

日志配置代码:
log4j.rootLogger=INFO, CATALINA

Define all the appenders

log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.out
log4j.appender.CATALINA.Append=true
log4j.appender.CATALINA.Encoding=UTF-8

Roll-over the log once per day

log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n;

按理说应该每天生成一个文件,记录当天的日志,但是有时日志文件会错乱,生成到其他日期文件里去了

  • 写回答

1条回答 默认 最新

  • 千里码! 2023-06-10 19:38
    关注

    这种情况可能是因为log4j的日志滚动策略配置不正确导致的。默认情况下,log4j会按照时间滚动日志,即每天生成一个新的日志文件。但是如果配置不正确,可能会导致日志文件的滚动时间不准确,从而出现今天的日志写入了昨天或前天的日志文件中。

    你可以检查一下log4j的配置文件,看看是否正确配置了日志滚动策略。另外,也可以考虑升级log4j版本,以避免已知的日志滚动问题。

    评论

报告相同问题?