2012-06-06 81 views
1

可能重複:
Log4J; how to ensure timestamps are always in GMT using ConversionPattern?log4j的UTC日期時間配置

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

看到這篇文章:http://stackoverflow.com/questions/3634585/log4j-how-to-ensure-timestamps-are-always-in-gmt-using-conversionpattern並應用UTC而不是GMT如果你願意。 –

+0

當我使用Log4j-extras中的EnhancedPatternLayout(我使用1.1的版本)時,它對我很有用。 \t \t \t \t \t nagendra

回答

0

我不認爲這是一個好辦法。但破解這個螺母的一種方法是擴展PatternLayout

第1步 - 編寫自己的DateFormat,類似於log4j的AbsoluteTimeDateFormat

第2步 - 擴展PatternParser並覆蓋void finalizeConverter(char c)以支持新的特殊格式代碼,例如%d{UTC}

第3步 - 擴展PatternLayout並覆蓋createPatternParser返回您的子類PatternParser

第4步 - 更改您的配置使用您的子類PatternLayout

+0

儘管我寫的會有效, 。 –