我需要控制日志记录框架的最大磁盘空间量。
例如,在log4j中,如果我有一个这样的附加程序,我可以轻松估算出我需要多少磁盘空间:
<appender name="appender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="example.log"/>
<param name="MaxFileSize" value="100KB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %t %c - %m%n"/>
</layout>
</appender>
使用maxFileSize和maxBackupIndex我知道我最多需要10x100KB。
我注意到DailyRollingFileAppender,但它不支持maxFileSize。
除RollingFileAppender之外,还有其他FileAppenders可以实现此控制吗?
logback或log4j2是否提供其他FileAppender /替代方案?
注意:我正在寻找仅配置日志记录框架的方法,没有使用rm命令的外部程序(如crontab)。欢迎第三方应用程序,例如this,this或this。
最佳答案
logback或log4j2是否提供其他FileAppender /替代方案
log4j2引入了仍在实验阶段的RandomAccessFileAppender
和RollingRandomAccessFileAppender
,在将来的发行版中可能会替换FileAppender
和RollingFileAppender
。 See here。
但是当前的 RollingFileAppender
需要一个TriggeringPolicy
: