北美切换到夏令时后,我们的日志遇到了问题。日志时间不会更改以反射(reflect)时钟“向前跳动”,直到日志翻转策略导致其重置。
我们在 RollingRandomAccessFile 附加程序中使用以下模式布局和策略:
<PatternLayout>
<Pattern>%d{ISO8601} traceId=%X{X-B3-TraceId} spanId=%X{X-B3-SpanId} [%-15.20t] %-5p %-20c{1.} : %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<!-- 100MB limit before log file is rolled over -->
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
有人能告诉我 log4j 支持这种情况的预期行为吗?我们目前使用的是 log4j 版本 2.4.1
最佳答案
这可能是由 issue with DST 引起的在 Log4j2 用于预定义日期格式的 FixedDateFormat
类中(所有具有名称的格式,例如 DEFAULT、ABSOLUTE、COMPACT、DATE、ISO8601 和 ISO8601_BASIC)。
该问题已得到修复,并将包含在即将发布的 Log4j 2.8.2 版本中。
关于java - log4j 和夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42814271/