Log4j Rollingpolicy 和 MaxbackupIndex
Log4j Rollingpolicy and MaxbackupIndex
我正在使用以下代码每分钟更新一次日志,并且运行良好。
log4j.appender.AllFlows=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.AllFlows.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.AllFlows.rollingPolicy.File=E:/Logs/AllFlows.log
log4j.appender.AllFlows.rollingPolicy.FileNamePattern=E:/Logs/AllFlows.log.%d{yyyy-MM-dd-HH-mm}
log4j.appender.AllFlows.MaxBackupIndex=10
log4j.appender.AllFlows.layout=org.apache.log4j.PatternLayout
log4j.appender.AllFlows.layout.ConversionPattern=%d %-5p %x - %m%n
但是我只想知道,它们是否可以替代 MaxbackupIndex,因为当我使用 TimebasedRollingPolicy 时,它没有按预期工作?
我正在使用 log41.2.17 和 apache log4j extras
不幸的是,使用 log4j 的标准 API 甚至使用 Extras 都不可能做到这一点。
但是,您可以使用 class org.apache.log4j.DailyMaxRollingFileAppender
1,例如:
log4j.appender.AllFlows=org.apache.log4j.DailyMaxRollingFileAppender
log4j.appender.AllFlows.File=E:/Logs/AllFlows.log
log4j.appender.AllFlows.MaxBackupIndex=10
log4j.appender.AllFlows.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.AllFlows.layout=org.apache.log4j.PatternLayout
log4j.appender.AllFlows.layout.ConversionPattern=%d %-5p %x - %m%n
备注
- 在Custom DailyRollingFileAppender with MaxBackupIndex中查看此class的代码。
可以使用 DefaultRolloverStrategy oin log4j2
<RollingFile name="LogFile" fileName="/logs/application.log" immediateFlush="false" append="false"
filePattern="//logs/abc-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/> <!-- Above pattern will allow the files to be rolled over at midnight -->
</Policies>
<DefaultRolloverStrategy max="5"/>
</RollingFile>
我正在使用以下代码每分钟更新一次日志,并且运行良好。
log4j.appender.AllFlows=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.AllFlows.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.AllFlows.rollingPolicy.File=E:/Logs/AllFlows.log
log4j.appender.AllFlows.rollingPolicy.FileNamePattern=E:/Logs/AllFlows.log.%d{yyyy-MM-dd-HH-mm}
log4j.appender.AllFlows.MaxBackupIndex=10
log4j.appender.AllFlows.layout=org.apache.log4j.PatternLayout
log4j.appender.AllFlows.layout.ConversionPattern=%d %-5p %x - %m%n
但是我只想知道,它们是否可以替代 MaxbackupIndex,因为当我使用 TimebasedRollingPolicy 时,它没有按预期工作?
我正在使用 log41.2.17 和 apache log4j extras
不幸的是,使用 log4j 的标准 API 甚至使用 Extras 都不可能做到这一点。
但是,您可以使用 class org.apache.log4j.DailyMaxRollingFileAppender
1,例如:
log4j.appender.AllFlows=org.apache.log4j.DailyMaxRollingFileAppender
log4j.appender.AllFlows.File=E:/Logs/AllFlows.log
log4j.appender.AllFlows.MaxBackupIndex=10
log4j.appender.AllFlows.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.AllFlows.layout=org.apache.log4j.PatternLayout
log4j.appender.AllFlows.layout.ConversionPattern=%d %-5p %x - %m%n
备注
- 在Custom DailyRollingFileAppender with MaxBackupIndex中查看此class的代码。
可以使用 DefaultRolloverStrategy oin log4j2
<RollingFile name="LogFile" fileName="/logs/application.log" immediateFlush="false" append="false"
filePattern="//logs/abc-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/> <!-- Above pattern will allow the files to be rolled over at midnight -->
</Policies>
<DefaultRolloverStrategy max="5"/>
</RollingFile>