Apache Log4j 2.0 läutet nächste Phase des Logging-Projekts ein

Das zweite Major Release der Java-Logging-Bibliothek, baut nicht nur auf einem leicht erweiterbaren Plug-in-System auf, es übernimmt auch Elemente von Logback [--] ohne dessen architektonischen Schwächen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Um herauszufinden, was wann in einer Anwendung vor sich geht oder um Programme einfach zu Debuggen, sind Logging-Mechanismen eine gute Wahl. Log4j ist eine Logging-Bibliothek für Java-Code und steht nach ausgiebigen Alpha- und Betatests nun in Verision 2.0 zum Download bereit. Zu den Verbesserungen und neuen Features zählt beispielsweise, dass die API für Log4j von der Implementierung getrennt ist, sodass Anwendungsentwickler einfach sehen können, welche Klassen und Methoden sich nutzen lassen und gleichzeitig die Vorwärtskompatibilität gewahrt bleibt.

Darüber hinaus baut Version 2.0 auf ein Plug-in-System, sodass sich das Framework vergleichsweise einfach mit neuen Appendern, Filtern, Layouts, Funkionen zum Umwandeln von Mustern und Ähnlichem erweitern lässt. Verändert man Konfigurationsdateien nach dem Update auf die aktuelle Log4j-Version, wird die Konfiguration automatisch neu geladen. Im Gegensatz zu Logback (einem Projekt, das als Nachfolger für Log4j gedacht war) sollen während Rekonfigurationsmaßnahmen allerdings keine Log-Events verloren gehen. Im Gegensatz zu den Vorgängern lassen sich in Version 2.0 Appender vom Nutzer konfigurieren. Durch den Einsatz der LMAX-Disruptor-Bibliothek gibt es in Szenarios mit mehreren Threads außerdem deutlich weniger Latenz beim Loggen und der Durchsatz soll höher (etwa 10-mal) als bei Log4j 1.x sein. Außerdem unterstützt das Projekt andere APIs wie die SLF4J und Common Logging APIs.

Seit dem letzten Release sind neben einigen Bugfixes auch zwei neue Features hinzugekommen, auf die die Ankündigung hinweist: Zum einen lassen sich nun auf die Bedürfnisse des Nutzers zugeschnittene Logger Wrapper, die Log Level ersetzen, und erweiterte Wrapper erstellen, die wiederum vorhandene Log Level um neue ergänzen können. Zum anderen soll das Filter für reguläre Ausdrücke nun auch Ergebnisse in mehrzeiligen Nachrichten finden können.

Hinweise zur Migration von Log4j 1.x auf 2.0 finden sich in der Dokumentation. Dort findet sich auch eine ausführliche Beschreibung der neuen Architektur des Frameworks. Log4j wird von der Apache Software Foundation betreut und steht unter der Apache-Lizenz v2. (jul)