问题描述
要保留最近3天的日志文件,每个文件大小不超过10MB,如何在log4j2.yml文件中配置?
To keep the last 3days of log file with each file size up to 10MB, how to configure in log4j2.yml file?
我试过了,
filePattern: ${log}/${app}-archive/${app}-%d{MM-dd-yyyy}-%i.log"
...
Policies:
TimeBasedTriggeringPolicy:
interval: 1
modulate: true
SizeBasedTriggeringPolicy:
size: 10 MB
DefaultRolloverStrategy:
delete:
basePath: "${log}/${app}-archive"
maxDepth: 1
IfFileName:
glob: "*.log"
IfLastModified:
age: 3d
,即使当天是今天的日志,它最多只能在同一天创建7个归档文件并删除旧文件.如果lastModified<是否有办法保存尽可能多的文件.3d?例如app-04-09-2021-8.log,app-04-09-2021-9.log,.... app-04-09-2021-39.log等.
and it creates only up to 7 archives on the same day and delete old files even though it was today's log. Is there a way to keep as much as files if its lastModified < 3d?like app-04-09-2021-8.log, app-04-09-2021-9.log,....app-04-09-2021-39.log and so on.
请指导我.
推荐答案
默认情况下, DefaultRolloverStrategy
最多保留 max
配置属性的值, 7
默认情况下,根据您的用例,每天一次,基于时间的过渡间隔,如文件模式中所示, $ {app}-%d {MM-dd-yyyy}-%i.log
- max
属性仅适用于%i
计数器.
By default DefaultRolloverStrategy
will keep at most the value of the max
configuration attribute, 7
by default, per time based rollover interval, daily in your use case as indicated in your file pattern, ${app}-%d{MM-dd-yyyy}-%i.log
- the max
attribute only applies only to the %i
counter.
为该属性提供更大的值,您认为适当的值取决于您的日志模式.例如:
Provide a bigger value for that attribute, the value you consider appropriate depending on your log patterns. For example:
DefaultRollOverStrategy:
max: 100
delete:
basePath: "${log}/${app}-archive"
maxDepth: 1
IfFileName:
glob: "*.log"
IfLastModified:
age: 3d
请参阅相关的文档.
这篇关于log4j2-保留日志文件的最后7天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!