gpt4 book ai didi

java - 重新启动时 log4j 翻转

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:33:53 25 4
gpt4 key购买 nike

我在我的项目中使用 log4j FileAppender 来收集某些结果。当我的应用程序重新启动时,我想保留以前的结果文件并开始一个新的。这可能吗?

例如:

  • 启动应用,将结果写入results.log
  • 申请结束
  • 重启应用,将结果写入results_1.log
  • ...

我已经查看了 DailyRollingFileAppender,但这并不是我真正需要的,因为它会在特定日期设置时自动滚动更新。我需要在应用程序重新启动时翻转。

最佳答案

Log4j2RollingFileAppender 具有名为 OnStartupTriggeringPolicy 的策略。

如文档所述:

The OnStartupTriggeringPolicy policy causes a rollover if the log file is older than the current JVM's start time and the minimum file size is met or exceeded.

xml 配置示例(仅策略):

<Policies>
<OnStartupTriggeringPolicy /> # restart on startup of JVM
<SizeBasedTriggeringPolicy size="20 MB" /> # restart file if log file reaches 20MB
<TimeBasedTriggeringPolicy /> # restart if currend date don't mach date in log file name
</Policies>

更多信息和文档: https://logging.apache.org/log4j/2.x/manual/appenders.html#RollingFileAppender

关于java - 重新启动时 log4j 翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498323/

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