[Logback || log4j] Wie richtig loggen / Log Instanzen verwalten

hueck

Mitglied
Hallo,

ich lese mich gerade in das Thema logging ein, nur iwie finde ich nicht das was ich suche.

Aus dem Bauch heraus fiel meine Wahl auf Logback, da dies als neueres besser log4j bezeichnet wird.

Soweit sogut, nur hab ich noch zwei kleine Verständnisprobleme:

- Die Konfiguration findet über eine xml datei statt, die sich im Classpath befinden muss?
- Will ich etwas loggen, hole ich mir in jeder Klasse eine eigene Log instanz? Beispielsweisse per:

Java:
private static final Logger logger = LoggerFactory.getLogger(FooComponent.class);

Habe ich das richtig verstanden?

Danke im Vorraus
 
Aus dem Bauch heraus fiel meine Wahl auf Logback, da dies als neueres besser log4j bezeichnet wird.
Log4j 2.0 (noch in der Beta) soll besser sein/werden, als Logback. Aber das schöne an Logback ist, dass du eigentlich Slf4J benutzt - du kannst jederzeit einfach das gesamte Framework (log4j, java.logging, logback) austauschen und musst so gut wie nix anpassen. Von daher würd ich auch zu Logback greifen.

Will ich etwas loggen, hole ich mir in jeder Klasse eine eigene Log instanz?
Das ist eine Architektur-Frage. Oft erzeugt man klassenweise Logger und benennt sie eben nach der Klasse.
Aber angenommen, du hast eine Export-Funktion in deinem Programm, die aus mehreren Klassen besteht. Oft ist es egal, aus welcher Klasse genau die Meldung kam. Viel mehr möchte man wissen, dass es die Exportfunktion betrifft. Dann könnte man in allen Klassen einen einzigen Logger verwenden:
Java:
LoggerFactory.getLogger("Export")
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben