2012-06-06 3 views
1

가능한 중복 :
Log4J; how to ensure timestamps are always in GMT using ConversionPattern?log4j를 UTC의 날짜 구성

어떻게 UTC 형식으로 날짜를 표시합니다 log4j에를 구성 할.

는 순간 나는 아래의 구성

<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

원한다면 GMT 대신 UTC를 적용하고 http://stackoverflow.com/questions/3634585/log4j-how-to-ensure-timestamps-are-always-in-gmt-using-conversionpattern을 참조하십시오. –

+0

log4j-extras (1.1 버전 사용)에있는 EnhancedPatternLayout을 사용했을 때 유용했습니다. \t \t \t \t \t nagendra

답변

0

내가 좋은 방법이라고 생각하지 않습니다를 사용하고 있습니다. 그러나이 너트를 깨는 한 가지 방법은 PatternLayout을 확장하는 것입니다.

1 단계 - log4j의 AbsoluteTimeDateFormat과 비슷한 사용자 고유의 DateFormat을 작성하십시오.

2 단계 - %d{UTC}과 같이 새로운 특수 서식 코드를 지원하려면 PatternParser을 확장하고 void finalizeConverter(char c)을 재정의하십시오.

3 단계 - PatternLayout을 확장하고 createPatternParser을 재정 의하여 하위 클래스 PatternParser을 반환하십시오.

4 단계 - 보조 클래스 PatternLayout을 사용하도록 구성을 변경하십시오.

+0

내가 작동 쓴, @Kal 언급 중복이 훨씬 우수한 솔루션이지만 . –

관련 문제