0
我有一個使用動態日期記錄的log4j2.xml
配置。它在tomcat
上運行。Log4j2鎖定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
也釋放舊的日誌文件並關閉任何文件處理程序?
您使用的是什麼版本的log4j2?我看到在2.5中添加了自定義刪除選項,請參閱https://logging.apache.org/log4j/2.x/manual/appenders.html#CustomDeleteOnRollover – geert3
我不想刪除文件,只需解鎖(以便例如外部作業可以將它們移動到日誌歸檔或其他任務)。我使用'2.5'。 – membersound