Java 在log4j中使用RollingFileAppender时,如何删除日志文件?
有时,在滚动日志文件时,似乎会出现一些问题,如:“无法删除日志文件”、“无法移动日志文件”Java 在log4j中使用RollingFileAppender时,如何删除日志文件?,java,logging,log4j2,Java,Logging,Log4j2,有时,在滚动日志文件时,似乎会出现一些问题,如:“无法删除日志文件”、“无法移动日志文件” Error: java.nio.file.FileSystemException a.log -> directory\a-2011-08-09-2.log: The process cannot access the file because it is being used by another process. 以下是log4j配置: <RollingFile name="a" fil
Error: java.nio.file.FileSystemException a.log -> directory\a-2011-08-09-2.log: The process cannot access the file because it is being used by another process.
以下是log4j配置:
<RollingFile name="a" fileName="${sys:catalina.base}/logs/a.log" append="true" createOnDemand="true" filePattern="${sys:catalina.base}/logs/a-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>%d{ISO8601}|%-5p|%i|%T|%s|%R|%t|%c{1} - %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="10MB"/>
</Policies>
<DefaultRolloverStrategy max="25"/>
</RollingFile>
%d{ISO8601}|%-5p}%i}%T}%s}%R}%T}%c{1}-%m%n
我知道catalina.out由tomcat保持打开状态,因此logrotate需要使用CopyControl标志,但我不确定这是否与您的问题有关。您在路径中使用了正斜杠。你在Windows上运行吗?您是否尝试过关闭AV一段时间来排除AV?@kichik什么是AV?AV是像Symantec或McAfee一样的反病毒。这会对这个问题产生什么影响?我知道catalina.out由tomcat保持打开,因此logrotate需要使用CopyContruncate标志,但我不确定这是否与你的问题有关,你在路径中使用了正斜杠。你在Windows上运行吗?你有没有试过关闭一段时间来排除你的AV?@kichik什么是AV?AV像赛门铁克或McAfee一样是反病毒的。这会对这个问题产生什么影响?