Java 删除操作中的log4j2 IFLASTMODIFED条件未正确解释年龄持续时间
我似乎无法在log4jDelete操作中获得IfLastModified条件来正确解释以月为单位的年龄设置。它一直把它当作分钟 我在log4jxml配置文件中有这个删除操作Java 删除操作中的log4j2 IFLASTMODIFED条件未正确解释年龄持续时间,java,log4j2,Java,Log4j2,我似乎无法在log4jDelete操作中获得IfLastModified条件来正确解释以月为单位的年龄设置。它一直把它当作分钟 我在log4jxml配置文件中有这个删除操作 <DefaultRolloverStrategy> <Delete basePath="${logging.dir}" maxDepth="1"> <IfFileName glob="framework-${hostName}-
<DefaultRolloverStrategy>
<Delete basePath="${logging.dir}" maxDepth="1">
<IfFileName glob="framework-${hostName}-*.log" />
<IfLastModified age="2m" />
</Delete>
</DefaultRolloverStrategy>
根据工期规范
要解决歧义,“P1M”是一个月的持续时间,“PT1M”是一分钟的持续时间(请注意时间值前面的时间指示符T)
我尝试使用不同的持续时间格式指定年龄,但结果相同
<IfLastModified age="P2m" />
...
<IfLastModified age="P2M" />
但是,这没有任何影响。Log4j2 Duration对象不支持Duration中的月份格式。这一定是这种行为的原因。它在API文档中有记录- ISO-8601持续时间标准的简化实施。支持的格式为PnDTnHnMnS,可选“P”和“T”。天被认为正好是24小时 与java.time.Duration类类似,该类不支持 格式中的年或月部分。这个实现不需要 支持分数或负值
Log4j2 Duration对象不支持Duration中的月份格式。这一定是这种行为的原因。它在API文档中有记录- ISO-8601持续时间标准的简化实施。支持的格式为PnDTnHnMnS,可选“P”和“T”。天被认为正好是24小时 与java.time.Duration类类似,该类不支持 格式中的年或月部分。这个实现不需要 支持分数或负值
我想你找到了原因。谢谢,我想你找到原因了。谢谢
<IfLastModified age="P2m" />
...
<IfLastModified age="P2M" />
filePattern="${logging.dir}/framework-${hostName}-%d{yyyy-MM-dd-HH-mm}.log"