gpt4 book ai didi

java - log4j2 SizeBasedTriggeringPolicy 每分钟创建文件

转载 作者:搜寻专家 更新时间:2023-11-01 03:31:45 31 4
gpt4 key购买 nike

我有一个 log4j2.xml,其中一个 appender 如下所示:

        <RollingFile name="performance" 
filePattern="/logs/myapp/myapp.%d{yyyy-MM-dd}.%i.perf.log"
append="true">
<Policies>
<CronTriggeringPolicy schedule="0 * * * * ?" evaluateOnStartup="true"/>
<SizeBasedTriggeringPolicy size="500 MB"/>
</Policies>
</RollingFile>

所以我的想法是让 crontrigger 策略每天创建一个新的日志文件,但也设置为当文件大小达到 500 MB 时在当天滚动。

但它会导致每分钟创建一个日志文件,例如

myapp.2018-05-10.1.perf.log

myapp.2018-05-10.2.perf.log

...

myapp.2018-05-10.121.perf.log

不确定,我在这里缺少什么。非常感谢任何帮助/建议。

最佳答案

你的 cron 表达式是错误的。

<RollingFile name="performance" 
filePattern="/logs/myapp/myapp.%d{yyyy-MM-dd}.%i.perf.log"
append="true">
<Policies>
<CronTriggeringPolicy schedule="0 0 12 1/1 * ? *" evaluateOnStartup="true"/>
<SizeBasedTriggeringPolicy size="500 MB"/>
</Policies>
</RollingFile>

这是正确的做法

<RollingFile name="performance" 
filePattern="/logs/myapp/myapp.%d{yyyy-MM-dd}.%i.perf.log"
append="true">
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy size="500 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>

由于文件名使用的模式“app.%d{​​MM-dd-yyyy}.%i.log.gz”,appender 能够理解我们指的是什么时间间隔,这隐含地设置每天滚动并压缩滚动文件。

关于java - log4j2 SizeBasedTriggeringPolicy 每分钟创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280860/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com