我正在使用2.12.1的log4j-slf4j-impl版本。以及将通过命令行执行并在完成后终止的应用程序。
该应用程序在本地主机中不会一次执行,但是有可能我们在先前的应用程序运行时再次运行它。因此,我想按yyyyMMdd-HHmmss分隔日志文件,然后在应用程序启动时,如果文件修改时间超过指定的时间(此处设置为1分钟),则删除日志文件。
我的log4j2.xml内容:
<RollingFile name="default"
filePattern="${output.folder}/my.%d{yyyyMMdd-HHmmss}.log">
<PatternLayout pattern="${pattern}" />
<Policies>
<OnStartupTriggeringPolicy minSize="0" />
</Policies>
<DirectWriteRolloverStrategy>
<Delete basePath="${output.folder}" maxDepth="1">
<IfFileName glob="my*.log" />
<IfLastModified age="1m" />
</Delete>
</DirectWriteRolloverStrategy>
</RollingFile>
日志文件如下所示:
my.20191127-091410.log my.20191127-091415.log my.20191127-091527.log my.20191127-091533.log 问题是以上log4j2设置不起作用。旧的日志记录文件不会被删除。我的log4j2设置有问题吗?
我非常感谢您的任何评论。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。