问题描述
现在我有一个java程序使用log4j2管理日志,我在log4j2.xml中配置日志文件的名称根据日志动态生成。现在的问题是日志文件和文件夹的名称正确,但是日志压缩文件名称中的日期区却是错误的。
情况如下图:
文件夹名称[2020-07-13]是正确的,而压缩文件名称中的日期却是[2020-05-11]。
logj2.xml中的配置
<!-- 常规日志 -->
<RollingFile name="rollingFile_info"
fileName="${LOG_HOME}/info.log"
filePattern="${LOG_HOME}/${date:yyyy-MM-dd}/info-%d{yyyy-MM-dd}-%i.log.gz">
<!-- 输出级别 -->
<Filters>
<!-- 限制日志级别在info及以上在error以下 -->
<!-- error级别以下 -->
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<!-- info级别以上 -->
<ThresholdFilter level="info" onMatch="accept" onMismatch="deny"/>
</Filters>
<!-- 输出格式 -->
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<!-- 封存策略 -->
<Policies>
<!-- 文件大小 超出后自动封存 -->
<SizeBasedTriggeringPolicy size="5MB"/>
<!-- 时间间隔 -->
<TimeBasedTriggeringPolicy modulate="true" interval="1"/>
</Policies>
</RollingFile>
这里配置起作用的是
不是按时间,所以出现了你说的情况。
试试把上面的配置换成