我的日志配置如下所示,但我只能看到创建了一个备份文件,而所有其他备份文件都已关闭/删除。
log4j.appender.application=org.apache.log4j.DailyRollingFileAppender
log4j.appender.application.File=${log.root.path}/test.log
log4j.appender.application.DatePattern='.'yyyy-MM-dd
log4j.appender.application.layout=org.apache.log4j.PatternLayout
log4j.appender.application.layout.ConversionPattern=%d{dd MMM
HH\:mm\:ss\:SSS} [%t] %-5p [%c\:%M\:%L] srcIp=%X{srcIp} -
remoteHost=%X{remoteHost} -port=%X{port} - activityType=%X{activitytype} -
activityStatus=%X{activitystatus} -applicationUser=%X{applicationUser} -
APITXNID=%X{apiTxnId} -CustomerRefNum=%X{CustomerRefNum} -%m%n%n
发布于 2018-05-05 08:20:22
您的配置看起来很好,您可以尝试做以下几件事:
log4j.appender.application.DatePattern
从'.'yyyy-MM-dd
替换为'.'yyyy-MM-dd-HH-mm
,看看是否会每分钟创建一次文件。已观察到DailyRollingFileAppender出现同步问题和数据丢失。org.apache.log4j.rolling.RollingFileAppender. extras附带的log4j extras包括新部署时应考虑的备选方案,并在and文档中对其进行了讨论
您可以通过将log4j依赖替换为apache-log4j-extras来达到与上面的配置相同的效果,log4j实现了log4j 1.2.x,但具有额外的特性,例如使用TimeBasedRollingPolicy
的org.apache.log4j.rolling.RollingFileAppender
然后在你的log4j.properties
中替换
log4j.appender.application=org.apache.log4j.DailyRollingFileAppender
log4j.appender.application.File=${log.root.path}/test.log
log4j.appender.application.DatePattern='.'yyyy-MM-dd
使用
log4j.appender.application=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.application.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.application.rollingPolicy.FileNamePattern=${log.root.path}/test.log.%d{yyyy-MM-dd-HH-mm}
log4j.appender.application.File=${log.root.path}/test.log
https://stackoverflow.com/questions/50173424
复制