2016-04-04 10 views
0

Ich benutze log4j für Webapplikation. Ich hatte ein Java Beispiel von log4j versucht, das verschiedene Protokolldateien entsprechend Paket bildet. Aber wenn ich es auf webApplication anwende, erzeugt die Datei, aber es ist leer. In der Datei wird keine Ausgabe angezeigt. Unten ist der Code.In log4j fileappender keine Logs in Datei anfügen

log4j.rootLogger=DEBUG, CA 

log4j.appender.pkg1Appender=org.apache.log4j.FileAppender 
log4j.appender.pkg1Appender.File=E://pkg1.log 

log4j.appender.pkg2Appender=org.apache.log4j.FileAppender 
log4j.appender.pkg2Appender.File=E://pkg2.log 

# ConsoleAppender 
log4j.appender.CA=org.apache.log4j.ConsoleAppender 

log4j.logger.pkg1=,pkg1Appender 
log4j.logger.pkg2=,pkg2Appender 

Antwort

0

Versuchen Sie, die paketspezifischen Appender zur Stammloggerzeile hinzuzufügen.

log4j.rootLogger = DEBUG, CA, pkg1Appender, pkg2Appender

Siehe die Antwort auf diese Frage hier: log4j: package-specific logging

+0

Ich versuchte es auch. Es wird alle Protokolle nicht paketspezifisch drucken. – charmi

+0

Mein Projekt hat einen zentralen Methodennamen printout(), den ich in meinem gesamten Projekt verwendet habe. Jetzt möchte ich log4j in der Anwendung anwenden. Ich habe eine statische Logger-Variable erstellt und in der printout() -Methode verwendet. So bekomme ich nie heraus, von welchem ​​Paket Logger gedruckt wird. Ich denke, es ist Grund, dass meine Appender-Datei leer ist? Haben Sie irgendeine Alternative, so dass ich nicht alle Quelldateien ändern muss, um den Logger zu implementieren. – charmi

+0

Sie können versuchen mit AOP, wenn das für Sie machbar ist –

Verwandte Themen