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

Log4J2日志配置问题排查:figleaf滚动失效与LOGFILE1命名异常

Log4J2 配置问题分析与解决方案

一、figleaf 日志无法每2小时滚动的原因及修复

你的figleaf日志配置中,filePattern的日期格式包含空格是导致无法按2小时滚动的核心问题:

appender.figleaf_inboundevent.filePattern = logs/figleaf_inboundevent-%d{yyyy-MM-dd HH}.log.%i

Log4J2解析%d时间模式时,空格会干扰时间粒度的识别,导致TimeBasedTriggeringPolicy无法正确识别"小时"作为滚动单位,进而无法按配置的2小时间隔触发滚动。

修复步骤:

将filePattern中的空格替换为连字符或下划线,确保时间格式无干扰字符:

appender.figleaf_inboundevent.filePattern = logs/figleaf_inboundevent-%d{yyyy-MM-dd-HH}.log.%i

同时保留原有的TimeBasedTriggeringPolicy配置(interval=2、modulate=true),modulate=true会让滚动时间对齐到2小时的整数倍(如00:00、02:00等),保证滚动的规律性。

二、LOGFILE1 重启后无日期小时后缀的原因及修复

LOGFILE1的配置中缺少启动时触发滚动的策略,导致应用重启后直接写入logs/LOGFILE1.log,不会自动将原有文件重命名为带后缀的格式。

修复步骤:

在LOGFILE1的policies节点下添加OnStartupTriggeringPolicy配置,启动时自动触发日志滚动:

appender.LOGFILE1.policies.startup.type = OnStartupTriggeringPolicy
appender.LOGFILE1.policies.startup.minSize = 0

配置后,应用重启时会将现有的LOGFILE1.log重命名为LOGFILE1-yyyy-MM-dd.log.1(符合filePattern格式),然后创建新的LOGFILE1.log用于后续日志写入。

验证说明

  • 修改配置后,重启应用,观察figleaf日志是否会在每2小时的整数倍时间点触发滚动;
  • 重启应用后,查看logs目录下是否生成带日期后缀的LOGFILE1历史文件,新日志是否写入无后缀的主文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:00:55