2017-01-01 3 views
0

내 프로젝트에 log4j 2를 추가했습니다. 처음에는 구성/등록 정보 파일을 추가하지 않았으며 메시지가 ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console입니다. 어쨌든 기본 설정을 사용했기 때문에 괜찮 았습니다.log4j2 : 날짜/변환 패턴이 작동하지 않습니다.

설정을 모두 마치면 log msgs timestamp에 날짜가 포함되지 않은 것으로 나타났습니다. 예 : 10:46:24.597 [[STANDBY] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO utils.ServerParamLoader - INFO LOG. 그래서 나는 대답을 위해 웹을 파기 시작했다. log4jtester.com의 도움으로

나는 작은 log4j2.properties 파일을 만든 :

log4j.rootLogger=INFO, STDOUT 

#appenders 
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender 
log4j.appender.STDOUT.Target=System.out 
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout 
log4j.appender.STDOUT.layout.ConversionPattern=[%d{dd/MM/yyyy HH:mm:ss,SSS}] [%-7p] %c{1}:%L (%t) - %m%n 

을 그리고/src에 아래에 넣어.

서버를 다시 시작했을 때 오류 메시지가 사라 졌으므로 로그에있는 메시지는 이전 형식으로 유지됩니다.

내가 뭘 잘못하고 있니?

(또 다른 한가지는, 어쩌면 그것은하지 어쩌면 관련이 - API 타임 스탬프의 기본에 따라 날짜를 포함, ISO8601입니다!)

답변

1

질문에 표시된 구성 파일이 이전 Log4j의 한 형식입니다. log4j2.properties라는 Log4j2.properties가 있으므로 Log4j2가 구문 분석을 시도하지만 오류가 발생하여 유효하지 않은 구성으로 끝났습니다 ...

Log4j2의 example of the properties format 구성에 대한 Log4j2 설명서 페이지를 참조하십시오.

매뉴얼의 대부분의 예제는 xml 형식을 사용합니다. 이러한 이유로 XML 구성 파일을 시작하는 것이 더 쉬울 수도 있습니다.

console appenderlog4j2.xml 구성이다

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn"> 
    <Appenders> 
    <Console name="STDOUT" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{dd/MM/yyyy HH:mm:ss,SSS}] [%-7p] %c{1}:%L (%t) - %m%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Root level="info"> 
     <AppenderRef ref="STDOUT"/> 
    </Root> 
    </Loggers> 
</Configuration> 
관련 문제