C
Camino
Gast
Hallo,
ich bin gerade dabei, in meiner Swing-Anwendung log4j einzubauen, damit ich in einer Logdatei Infos und Fehler mitloggen kann, vor allem, wenn andere User die Anwendung getestet haben, damit ich dann später sehen kann, ob Fehler auftraten.
Da ich mich erst seit Kurzem mit log4j beschäftige, sind mir einige Sachen noch unklar:
1.) In meiner Properties-Datei mit den Einstellungen für log4j steht
. Was bedeutet dieser rootLogger? Was ist der Unterschied zu dem Logger, den ich in jeder zu loggenden Klasse so einbinde:
?
2.) Ich möchte gerne alle Fehlermeldungen in die Log-Datei reingeschrieben haben. Soweit ich das bisher gesehen habe, muss man dies aber dann mit
in den Exceptions in der Klasse anlegen. Bei anderen (unbehandelten) Exceptions, die normalerweise auf der Konsole ausgegeben werden (wie z.B. NullPointerException) gibt es diese Möglichkeit ja nicht. Jetzt hatte ich irgendwo einen Lösungsansatz gelesen, System.out und System.err in die Log-Datei umzuleiten. Bin mir aber nicht sicher, ob dies der richtige Ansatz ist. Gibt es da eine bessere Möglichkeit? Oder wie macht ihr das?
3.) Sollte dann in der Anwendung grundsätzlich auf System.out.println() verzichtet werden und alles über log4j laufen?
4.) Macht es Sinn, verschiedene Log-Dateien anzulegen? Eine für die Infos und eine für die Errors? Wenn ja, wie geht das? Muss ich bestimmt in der Properties-Datei angegeben...
ich bin gerade dabei, in meiner Swing-Anwendung log4j einzubauen, damit ich in einer Logdatei Infos und Fehler mitloggen kann, vor allem, wenn andere User die Anwendung getestet haben, damit ich dann später sehen kann, ob Fehler auftraten.
Da ich mich erst seit Kurzem mit log4j beschäftige, sind mir einige Sachen noch unklar:
1.) In meiner Properties-Datei mit den Einstellungen für log4j steht
Code:
log4j.rootLogger = DEBUG, FILE
Code:
private static final Logger logger = Logger.getLogger( Klassenname.class );
2.) Ich möchte gerne alle Fehlermeldungen in die Log-Datei reingeschrieben haben. Soweit ich das bisher gesehen habe, muss man dies aber dann mit
Code:
logger.error(...)
3.) Sollte dann in der Anwendung grundsätzlich auf System.out.println() verzichtet werden und alles über log4j laufen?
4.) Macht es Sinn, verschiedene Log-Dateien anzulegen? Eine für die Infos und eine für die Errors? Wenn ja, wie geht das? Muss ich bestimmt in der Properties-Datei angegeben...