log4j UTC日期时间配置

时间:2012-06-06 16:27:21

标签: java log4j

  

可能重复:
  Log4J; how to ensure timestamps are always in GMT using ConversionPattern?

如何配置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>

1 个答案:

答案 0 :(得分:0)

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

第1步 - 编写自己的DateFormat,类似于log4j的AbsoluteTimeDateFormat

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

第3步 - 扩展PatternLayout并覆盖createPatternParser以返回您的PatternParser子类。

第4步 - 更改配置以使用PatternLayout的子类。