gpt4 book ai didi

java - Log4j2 锁定 Tomcat 上的日志文件?

转载 作者:行者123 更新时间:2023-11-28 23:25:51 28 4
gpt4 key购买 nike

我有一个使用动态日期进行日志记录的 log4j2.xml 配置。它在 tomcat 上运行。

<RollingRandomAccessFile name="TEST" fileName="my-application-${date:yyyy-MM-dd}.txt" filePattern="my-application-%d{yyyy-MM-dd}.txt">
<Policies>
<TimeBasedTriggeringPolicy modulate="true"/>
...

问题是滚动文件不起作用,记录器一直记录到旧文件。因此我在午夜运行以下命令:

((org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false)).reconfigure();

这会更新 log4j2 配置中的 date 时间戳,因此日志文件现在会在午夜滚动。

问题: 文件仍然有锁!即使它们不再被使用。

问题:如何强制 LogManager 也释放旧日志文件并关闭所有文件处理程序?

最佳答案

上面的 filePattern 将解析为与记录到的文件相同的文件名。这肯定会使滚动失败。

关于java - Log4j2 锁定 Tomcat 上的日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37203752/

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