2016-07-25 1 views
0

Log4J 1.2.17을 사용하고 있으며 자체 appender를 작성하려고했습니다. 나는 AppenderSkeleton을 확장하고, 오버라이드 된 메소드를 구현하고 Log4j.properties에 내 appender를 선언했지만, appender는 결코 호출되지 않습니다. 내가 놓친 게 무엇입니까 ?Log4j 사용자 정의 appender가 호출되지 않았습니다.

내 펜더에서 발췌문 :

@Override 
public void close() {  
} 

@Override 
public boolean requiresLayout() { 
    return false; 
} 

@Override 
protected void append(LoggingEvent event) { 
    System.out.println("append !"); // Debug 
    appendMessageToSystemLog(event.getMessage().toString()); // Test  
} 

그리고 내 Log4j의 속성 :

log4j.rootLogger=INFO, test 

### Test ### 
log4j.appender.test=util.EventLogger 
log4j.appender.test.threshold=INFO 
log4j.appender.test.layout=org.apache.log4j.PatternLayout 
+0

로거에 전화하는 방법은 무엇입니까? 정보 수준이나 아래에 하나를 사용합니까? – vincent

+0

"정상"애펜더가 잘 작동합니다. CDI를 통해 로거를 주입합니다 (저는 생산자가 있습니다). 그것은 작동하지 않는 내 appender입니다. 정보, 오류 및 디버그를 사용합니다. – Tim

답변

0

나는 내 문제를 발견 : 내 펜더는 전용 생성자 ... 그 월요일 중 하나 있었다 ...

관련 문제