java - log4j 和夏令时

标签 java logging configuration log4j log4j2

北美切换到夏令时后,我们的日志遇到了问题。日志时间不会更改以反射(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/

相关文章:

java - 将图像保存到数据库时JAVA中的classcastException

Python 日志记录 : override log time

c - 如何编写可以将调用者的名称附加到 C 中的日志输出的日志记录函数或宏

php - 当没有这样的文件时,什么 apache 配置导致 domain.com/index.php/abcdefg 工作?

java - 使用 log4j 配置进行日志记录不起作用

ruby-on-rails-3 - 运行 rspec 时隐藏文件列表?

Java内存文件结构?

java - 如何查找当前正在监听 Activity 端口的进程(使用Java)

java - org.bouncycaSTLe.operator.OperatorCreationException : cannot create signer: class configured for Signature (provider: BC) cannot be found

javascript - 如何在 Android-Phonegap-app 中获取浏览器控制台错误,可能在 Eclipse 中?