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

Log4j2每日日志滚动时区异常:巴黎时区未在午夜滚动的解决办法?

解决Log4j2巴黎时间午夜日志滚动问题

问题根源

你当前的配置仅在日志文件名和输出格式中指定了巴黎时区,但TimeBasedTriggeringPolicy的触发逻辑默认使用JVM的默认时区(此处为GMT),导致滚动触发时间不符合预期,这和你提到的LOG4J2-1631问题核心原因一致——触发策略未与指定时区绑定。

修复方案

给TimeBasedTriggeringPolicy添加timeZone属性,明确指定为Europe/Paris,让滚动触发逻辑与目标时区关联。修改后的完整配置如下:

<RollingFile
  name="rollingFile"
  fileName="${LOG_DIR}/application.log"
  filePattern="${LOG_DIR}/application.%d{dd-MMM}{Europe/Paris}.log.gz"
  ignoreExceptions="false">
  <PatternLayout>
      <Pattern>%d{yyyy-MM-dd HH:mm:ss}{Europe/Paris} %-5p %m%n</Pattern>
  </PatternLayout>
  <Policies>
      <TimeBasedTriggeringPolicy interval="1" timeZone="Europe/Paris"/>
  </Policies>
  <DefaultRolloverStrategy max="5" />
</RollingFile>

补充说明

  • timeZone属性从Log4j2 2.7版本开始支持,请确保你的Log4j2版本不低于此版本。
  • 若无法升级版本,可临时通过JVM启动参数-Duser.timezone=Europe/Paris强制全局时区为巴黎时间,但该方式会影响整个应用的时区设置,不推荐作为长期解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:15:26