2013-06-10 2 views
5

안녕하세요 터미널의 log4j 속성에서 날짜 형식을 출력하는 데 문제가 있습니다.터미널 (우분투)에서 log4j 날짜 출력 문제

여기는 소품의 일부입니다. 파일 :

log4j.rootLogger=INFO, CONSOLE 

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.Target=System.err 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n 

이클립스의 출력은 다음과 같습니다 2013-06-10 14:38:21,478 INFO하지만 터미널에서, 나는 같은 출력이 13/06/10 14:38:21 INFO

내가 이클립스에서와 동일한 출력을 할 수있는 방법 그래서 어떤 아이디어의 기대 곳입니다 그것은 log4j 속성 파일 또는?

미리 감사드립니다. :)

+3

"터미널에서"를 의미하는 경우 명령 줄에서 실행 중이십니까? log4j.properties 파일이 classpath에 있는지 확인하십시오. – fge

+0

서버가 Linux Ubuntu에서 작동합니다. 등록 정보 파일은 클래스 경로에 있지만 Linux 터미널의 출력은 다릅니다. –

+0

클래스 패스에 있습니다. log4j를 디버깅하는 경우, 실제로 파일이 사용되었는지, 올바른 애펜더가 설정되었는지 등을 확인합니까? – fge

답변

1

이렇게 해보세요. 이 어떠냐

log4j.appender.CONSOLE.DatePattern=%d{yyyy-MM-dd HH:mm:ss,SSS} 
log4j.appender.CONSOLE.layout.conversionPattern=%m%n 

세트를 별도로 DatePatternconversionPattern 나는 것은 당신을 도와줍니다.

+0

그것은 내가 볼 수있는 것과 같습니다. 나는 터미널의 출력이 변경되지 않고 Eclipse의 출력도 동일하다는 것을 의미합니다. 문제는 둘의 차이에 관한 것입니다. scope는 Eclipse 콘솔 출력의 스코프입니다. –

0

해결되었습니다. 출력을 변경하는 곳이 잘못되었습니다. 올바른 속성이 hadoop 디렉토리에 있습니다. log4j도 소품 파일을 가지고 있고 그것에 대해 알지 못했습니다. 그래서 날짜 형식을 변경했는데 이제 모든 것이 정상입니다. 어쨌든 지원해 주셔서 감사합니다.