2

可能重复:
Log4J;如何使用 ConversionPattern 确保时间戳始终在 GMT 中?

如何配置 log4j 以 UTC 格式显示日期时间。

目前我正在使用以下配置

<appender name="trap-appender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="logs/exception/ExceptionLog.log" />
    <param name="append" value="true" />
    <param name="encoding" value="UTF-8" />
    <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{yyyy-MM-dd/HH:mm:ss.SSS}:%m%n" />
    </layout>
</appender>
4

1 回答 1

0

我不认为有什么好办法。但是解决这个问题的一种方法是扩展PatternLayout

  1. 编写自己的 DateFormat,类似于 log4j 的AbsoluteTimeDateFormat.

  2. 扩展PatternParser和覆盖void finalizeConverter(char c)以支持新的特殊格式代码,例如%d{UTC}.

  3. 扩展PatternLayout并覆盖createPatternParser以返回您的PatternParser.

  4. 更改您的配置以使用您的子类PatternLayout.

于 2012-06-06T16:42:30.547 回答