我已经使用以下配置配置了Log4j2,但是TimeBasedTriggeringPolicy无法正常工作,我在旧日的日志中获取新的日志,请你帮忙。它正在适当地滚动大小,它也创建了任意数量的文件,因为我已经指定了" nomax" DefaultRollOverStrategy的属性,只有TimeBasedTriggeringPolicy不起作用。它在前一天的日志文件中写入一天的日志。它确实创建了具有最新日期的新日志文件,但是某些日志已登录到前一天的日志中。正确地命名文件可能会遇到问题我不知道。
StorageFolder
答案 0 :(得分:0)
CronTriggeringPolicy
怎么样?这将在每天凌晨12点为您触发翻转:
{"CronTriggeringPolicy": {"schedule": "0 0 0,12 * * ?"}
这样,它就不会依赖于文件模式,而且应该按照cron
间隔滚动日志。我也不知道你如何确定前一天的日志包含在翻转中,但要确保你的系统时间是同步的。
答案 1 :(得分:0)
添加:
<build>
<plugins>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
<plugins>
<build>
政策解决了问题。
来自log4j2文档: OnStartup触发策略如果日志文件早于当前JVM的开始时间且达到或超过最小文件大小,则OnStartupTriggeringPolicy策略会导致翻转。 OnStartupTriggeringPolicy 参数: minSize:long:文件必须翻转的最小大小。无论文件大小是多少,大小为零都会导致翻转。默认值为1,这将阻止滚动空文件