问题描述
我有一些日志文件,我想每天将它们滚动并存档为gzips。
相关配置如下:
<Appenders>
<RollingFile name="MyLog"
fileName="${sys:log.dir}/mylog.log"
filePattern="${sys:log.dir}/mylog-%d{yyyy-MM-dd}.log.gz">
<PatternLayout pattern="%d %p | %m | %c{1.} [%t]%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="MyLog"/>
</Root>
</Loggers>
所以日志目录看起来像
mylog-2020-01-01.log.gz
mylog-2020-01-02.log.gz
mylog-2020-01-03.log.gz
mylog.log // todays logs (let's say its the 4th Jan)
除了在一天结束时不急切地压缩日志文件外,它工作得很好,每当第二天的第一条日志语句被追加时,它就会被懒惰地压缩。
由于我要记录的内容(与客户端会话有关)的性质,这可能要等到深夜之后才会发生。可能要几个小时,甚至几天。
能够方便地在我感兴趣的日期ls
的日志目录中的文件。目前,我不能可靠地执行此操作,因为昨天的日志可能会出现还没滚在这种情况下,mylog.log
不是今天的日志,而是昨天的日志。
有没有一种方法可以配置它,以便它可以快速而不是延迟地滚动文件?
我可以添加一个cronjob来进行清理,但是我很犹豫,因为如果 日志在午夜左右进行,我不想弄乱log4j是的文件试图写。似乎容易出错。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)