2016-07-25 20 views
0

Ich benutze Log4J 1.2.17 und ich habe versucht, meinen eigenen Appender zu erstellen. Ich erweiterte AppenderSkeleton, implementierte die überschriebenen Methoden und deklarierte meinen Appender in meiner Log4j.properties - aber der Appender wird nie aufgerufen. Was habe ich verpasst ?Log4j benutzerdefinierte Appender heißt nicht

Snippet von meinem 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  
} 

Und meine Log4j Eigenschaften:

log4j.rootLogger=INFO, test 

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

wie Sie Ihren Logger anrufen? und benutzen Sie die INFO-Ebene oder eine darunter? – vincent

+0

Die "normalen" Appender funktionieren gut. Ich spritze meinen Logger über CDI (ich habe einen Produzenten). Es ist nur mein eigener Appender, der nicht funktioniert. Ich benutze Info, Fehler und Debug. – Tim

Antwort

0

fand ich mein Problem: Mein appender hatte einen privaten Konstruktor ... Einer dieser Mondays ...