2017-04-13 3 views
0

Log4j는 구성을 찾으면 바로 찾을 수 없다는 오류 메시지가 나타나기 때문에 내 구성을 찾습니다. 그러나 로깅 할 때 속성이 반영되지 않습니다.Log4j2 - 구성을 찾았지만 올바르게 작동하지 않습니다.

log4j2.properties :

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="TRACE"> 
    <Appenders> 
     <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/> 
     </Console> 
    </Appenders> 
    <Loggers> 
     <Root level="info"> 
      <AppenderRef ref="Console"/> 
     </Root> 
    </Loggers> 
</Configuration> 

Test.java :

public class Test { 

    private static Logger logger = LogManager.getLogger(Test.class); 

    public static void main(String[] args) throws Exception { 
     logger.info("test"); 
     logger.fatal(logger.getLevel()); 
    } 

} 

출력 :

20:19:31.848 [main] FATAL io.rj93.sarcasm.examples.CnnSentenceClassificationExample - ERROR 

당신이 볼 수 있듯이

, 로거 수준을 반환하는 것이 될 ERROR 그것은 INFO로 설정되고 시간 형식은 제거 되더라도 밀리 초를 포함합니다.

설정 파일은 사소한 변경 (언급이, 그리고 status="TRACE")

나는 버전 2.8.1을 사용하고 더불어 log4j를 웹 사이트에서 가져옵니다.

답변

2

내부에 XML 구성이있는 log4j2.properties 파일을 사용합니다.
일치하지 않습니다.
log4J 초기화는 특성 형식으로 사용 된 형식을 인식하지 못합니다. 따라서 루트 로거에 대해 ERROR 수준을 지정하는 기본 log4J 구성을 사용합니다.

log4j2.properties의 이름을 log4j2.xml으로 바꾸면됩니다.

+0

나는 묻기 전에 그것을 시도했다. 그러나 그것은 던졌고 오류였다. 그래서 그것은 단지 잘못되었다고 생각했다. 이제 파일 상단에 빈 줄이 있다는 것을 깨달았습니다. 감사합니다 – rj93

+0

당신은 오신 것을 환영합니다. Log4J 2가'log4j2.properties' 파일에 대해 묵묵히 나쁜 내용을 무시한다는 것은 정말로 유감스러운 일입니다. 오해의 소지가 있습니다. – davidxxx