You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Log4J2(2.17.1)多文件名条件自动删日志失效问题求助

Log4j2 Delete Action多文件名条件不生效的解决方法

你的问题出在properties配置的语法特性上:重复定义PathConditions.type和PathConditions.glob会直接覆盖之前的配置,导致只有最后一个文件名条件生效。要实现多文件名的逻辑或匹配(满足任意一个文件名条件即可),需要用IfAny条件包裹多个IfFileName子条件,同时通过数字索引区分不同子条件。

修正后的配置示例

appender.aokwf.strategy.action.type = Delete
appender.aokwf.strategy.action.basepath = D:/logs/
appender.aokwf.strategy.action.maxdepth = 1
appender.aokwf.strategy.action.condition.type = IfLastModified
appender.aokwf.strategy.action.condition.age = 1D
# 用IfAny组合多个文件名条件,逻辑为"满足任意一个即可"
appender.aokwf.strategy.action.PathConditions.type = IfAny
# 第一个文件名匹配规则
appender.aokwf.strategy.action.PathConditions.1.type = IfFileName
appender.aokwf.strategy.action.PathConditions.1.glob = workflow_logging*.log.zip
# 第二个文件名匹配规则
appender.aokwf.strategy.action.PathConditions.2.type = IfFileName
appender.aokwf.strategy.action.PathConditions.2.glob = log4j.log.*

关键说明

  • IfAny类型用于将多个条件组合为逻辑或关系,只要其中一个子条件满足,就会触发文件匹配。
  • 在properties格式中,多个子条件必须通过**数字后缀(如.1、.2)**区分,避免键名重复导致的配置覆盖。
  • 原配置中直接重复PathConditions.type的写法,会让后定义的配置完全覆盖前一个,这是properties键值对配置的固有特性。

内容的提问来源于stack exchange,提问作者Athanasios Soulimenas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 21:24:52