WSO2 MI 4.2.0 Log4j日志删除配置无效问题求助
WSO2 Micro Integrator 4.2.0 日志自动删除配置失效问题排查
你的配置存在两处关键问题,导致旧日志无法被自动清理:
1. 文件名匹配规则不完整
你的PathConditions.glob配置为wso2carbon-,这个规则只能匹配以wso2carbon-开头的字符串,但实际滚动日志文件名是wso2carbon-YYYY-MM-DD.log这类完整格式,需要加上通配符*才能匹配全部相关文件:
appender.CARBON_LOGFILE.strategy.action.PathConditions.glob = wso2carbon-*
2. 缺少必要的滚动策略关联配置
Log4j的Delete动作需要依附于DefaultRolloverStrategy生效,你需要确保已经正确配置了滚动策略的类型,完整的关联配置示例如下:
# 定义滚动策略类型 appender.CARBON_LOGFILE.strategy.type = DefaultRolloverStrategy # 配置删除动作 appender.CARBON_LOGFILE.strategy.action.type = Delete appender.CARBON_LOGFILE.strategy.action.basepath = ${sys:carbon.home}/repository/logs/ appender.CARBON_LOGFILE.strategy.action.maxdepth = 1 appender.CARBON_LOGFILE.strategy.action.condition.type = IfLastModified appender.CARBON_LOGFILE.strategy.action.condition.age = 58D appender.CARBON_LOGFILE.strategy.action.PathConditions.type = IfFileName appender.CARBON_LOGFILE.strategy.action.PathConditions.glob = wso2carbon-*
额外验证要点
- 检查
${sys:carbon.home}是否能正确解析为MI的安装目录,可通过MI启动日志确认路径是否正确 - 确保MI进程对
repository/logs/目录有读写权限,否则删除动作会被系统阻止 - 触发日志滚动(比如手动修改日志文件触发滚动,或等待每日自动滚动)后,检查日志目录是否有旧文件被清理,同时查看MI的启动日志或carbon.log中是否有Log4j相关的错误信息
内容的提问来源于stack exchange,提问作者Andre Vicente
相关产品推荐
相关产品推荐

