gpt4 book ai didi

java - 如何在 log4j2 中每次服务器关闭时轮换日志

转载 作者:行者123 更新时间:2023-11-30 02:54:13 25 4
gpt4 key购买 nike

现在,如果日志达到 2000MB,我会使用 log4j2 轮换日志,并且基于时间(即每小时),逻辑如下:-

<RollingRandomAccessFile name="test"
fileName="${sys:log4j.logPath}/testlog" filePattern="${sys:log4j.logPath}/test-%d{yyyy-MM-dd-HH}-%i.log.gz">
<PatternLayout>
<Pattern>%d{ISO8601} %m%n</Pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="1990 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
</RollingRandomAccessFile>

我还想在服务器关闭时轮换日志。我必须在下面添加什么配置?

我已使用 OnStartupTriggeringPolicy 在关闭时轮换日志。但在服务器重新启动后发出单个请求后,日志会轮换。

但我希望在服务器关闭时轮换我的日志。有办法做到吗?

最佳答案

您的问题的标题是在服务器重新启动时轮换日志,但您的问题是在关闭时轮换日志。在关闭时轮换日志并不可靠,因为如果服务器或系统崩溃,文件将不会轮换。可以实现一个功能来在正常关闭时滚动,但您需要为此为 Log4j 创建一个 Jira 问题。

Log4j 2 支持 OnStartupTriggeringPolicy。当服务器启动时,它将导致文件翻转,除非文件为空。

关于java - 如何在 log4j2 中每次服务器关闭时轮换日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37740568/

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