Log4j2:每天打印日志文件 "无法控制"

问题描述 投票:0回答:1

我想每天打印一个日志文件。例如:我在2804日进行操作,在2904日午夜时分,我想把前一天(2804日)的操作日志收集到myFolder MYLOG_OP中。我在2804日进行操作,在2904日午夜,我希望前一天(2804日)的操作日志能被收集到myFolder MYLOG_OPERATIONS_D20200428.txt文件中。 在我目前的配置中,该文件有时正确地重命名,有时则用今天的日期而不是昨天的日期(例如myFolderMYLOG_OPERATIONS_D20200429.txt而不是myFolderMYLOG_OPERATIONS_D20200428.txt)。

appender.myLog-log.type=RollingFile
appender.myLog-log.name=myLog
appender.myLog-log.fileName=myFolder/MYLOG_OPERATIONS.txt
appender.myLog-log.filePattern=myFolder/MYLOG_OPERATIONS_D%d{yyyyMMdd}.txt
appender.dss-b05-log.layout.type=PatternLayout
appender.dss-b05-log.layout.pattern=%m%n
appender.dss-b05-log.policies.type=Policies
appender.dss-b05-log.policies.cron.type=CronTriggeringPolicy
appender.dss-b05-log.policies.cron.schedule=10 0 0 ? * *
appender.dss-b05-log.strategy.type=DefaultRolloverStrategy
appender.dss-b05-log.strategy.max=20

请帮助我:)

java logging cron log4j log4j2
1个回答
1
投票

我注意到的第一件事是,你试图为两个不同的日志记录器配置追加器,这可能是一个问题。myLog-log 作为记录器在你的情况下。

log4j2.appender.myLog-log.fileName=myFolder/MYLOG_OPERATIONS.txt
log4j2.appender.myLog-log.filePattern=myFolder/MYLOG_OPERATIONS_D%d{yyyyMMdd}.txt
log4j2.appender.myLog-log.policies.date.type=TimeBasedTriggeringPolicy 
log4j2.appender.myLog-log.policies.date.interval=1

试试这样

© www.soinside.com 2019 - 2024. All rights reserved.