Log4net

Log4net

log4j ist ein Framework zum Loggen von Anwendungsmeldungen in Java. Es wird von unzähligen Open-Source- als auch kommerziellen Softwareprodukten verwendet und hat sich als De-facto-Standard etabliert.

Das Projekt wurde von Ceki Gülcü während seiner Arbeit am IBM-Entwicklungslabor Zürich gegründet. Heute ist es ein Teil des Logging-Projekts der Apache Software Foundation und steht unter der Apache-Lizenz. Es entstand zu einer Zeit, als es in den Java-Standardbibliotheken noch keine Logging-Mechanismen gab. Heutzutage ist es durch seine Ausgereiftheit und Konfigurierbarkeit für viele Softwareentwickler das Log-System der ersten Wahl.

Inhaltsverzeichnis

Funktionsweise

Anstatt auftretende Fehler und Infomeldungen auf die Standardausgabe auszugeben, wird die Nachricht über sogenannte Logger in das Loggingsystem geleitet und gleichzeitig eine Einteilung der Wichtigkeit vorgenommen. Der Programmierer muss sich beim Erstellen des Programms nur um die Wichtigkeit der Meldungen Gedanken machen. Die Filterung und Art der Ausgabe kann zur Laufzeit konfiguriert werden.

Ausgabe-Umfang

In der Konfigurationsdatei kann die Ausgabe je nach Wichtigkeit der Nachrichten gefiltert werden. Der Ausgabe-Umfang steigt mit der zugewiesenen Wichtigkeitsstufe und umfasst alle Nachrichten der Stufe selbst, sowie aller noch dringenderen Stufen. Die Reihenfolge stellt sich dabei wie folgt dar:

ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF

TRACE beinhaltet dabei normalerweise selbst Ausgaben mit Kommentarcharakter, während die Reduzierung auf FATAL nur noch Ausgaben über schwere Programmfehler durchlassen wird. Die beiden Stufen ALL und OFF haben die umfangreichste bzw. überhaupt keine Ausgabe zur Folge.

Für die Einstufung der Wichtigkeit gelten folgende Richtwerte:

ALL
Alle Meldungen werden ungefiltert ausgegeben
TRACE
ausführlicheres Debugging (seit Version 1.2.12)
DEBUG
allgemeines Debugging (Methode DiesUndDas wurde mit Parameter SoUndSo aufgerufen …)
INFO
allgemeine Informationen (Programm gestartet, Programm beendet, Verbindung zu Host Foo aufgebaut, Verarbeitung dauerte SoUndSoviel Sekunden …)
WARN
Auftreten einer unerwarteten Situation
ERROR
Fehler (Exception wurde gefangen. Bearbeitung wurde alternativ fortgesetzt)
FATAL
Kritischer Fehler, Programmabbruch
OFF
Logging ist deaktiviert

Appender

Mittels Appender kann je nach Wunsch auf Standardausgabe, in eine Datei, ins Systemlog oder in beliebige andere Ziele geschrieben werden bzw. in alle gleichzeitig.

Appender-Arten

ConsoleAppender
Gibt auf Standardausgabe aus
FileAppender
Schreibt in eine Datei
RollingFileAppender
Beginnt eine neue Datei ab einer gewissen Größe
DailyRollingFileAppender
Beginnt zu gewissen Zeiten mit einer neue Datei
SyslogAppender
Loggt mittels Syslog-Dienst
NTEventLogAppender
Schreibt ins Ereignisprotokoll des Windows-Systems
SMTPAppender
Schickt bei gewissen Meldungen eine Mail.
SocketAppender
Sendet die LogMessage an einen konfigurierten Socket-Listener.

Es gibt auch noch weitere Appender.

Weitere Features

Das Format der Nachrichten kann individuell konfiguriert werden. Neben der reinen Nachricht kann mittels Muster zusätzlich Wichtigkeit, Datum, Loggername, Klassenname, Methodenname bis zur genauen Codezeile ausgegeben werden. Die Namen der Logger können zwar theoretisch beliebig sein, häufig wird sich pragmatisch dazu entschieden den Namen einer Klasse oder eines Pakets zu wählen, um so die Ausgaben entsprechend der Softwarestruktur separat filtern und ausgeben zu können.

Ein weiteres nützliches Feature ist der Mapped Diagnostic Context. Dabei wird einer Contextvariablen ein Wert zugewiesen und in der Konfigurationsdatei kann darauf referenziert werden. Dabei hat jeder Thread seinen eigenen Context und kann zusätzliche Informationen wie z. B. die Adresse des Clients bei einer Serveranwendung protokollieren.

Bedeutung

Derzeit wird versucht, log4j-ähnliche Systeme für andere Programmiersprachen unter dem Apache-Logging-Projekt zusammenzuführen.

Die Ausstrahlung der Log4j-Konzepte auf andere Programmiersprachen bzw. Plattformen ist so groß, dass es mittlerweile etliche Adaptionen gibt:

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Log4net — est un port de l utilitaire Apache log4j utilisé par le cadre de Microsoft .NET. Composants Log4net a trois composants principaux : Les loggers : Définissent le type de message ainsi que son niveau Les appenders : Destination du… …   Wikipédia en Français

  • Apache log4net — Тип Инструмент логирования данных Разработчик Apache Software Foundation Написана на .NET Операционная система Кроссплатформенное программное обеспечение Последняя версия 1.2.11 (6 октября 2011 …   Википедия

  • Apache Log4net — Infobox Software name = Apache log4net caption = developer = Apache Software Foundation latest release version = 1.2.10 latest release date = release date|2006|09|18 latest preview version = latest preview date = operating system = Cross platform …   Wikipedia

  • Log4J — ist ein Framework zum Loggen von Anwendungsmeldungen in Java. Es wird von unzähligen Open Source als auch kommerziellen Softwareprodukten verwendet und hat sich als De facto Standard etabliert. Das Projekt wurde von Ceki Gülcü während seiner… …   Deutsch Wikipedia

  • Log4j — ist ein Framework zum Loggen von Anwendungsmeldungen in Java. Es wird von unzähligen Open Source als auch kommerziellen Softwareprodukten verwendet und hat sich als De facto Standard etabliert. Das Projekt wurde von Ceki Gülcü während seiner… …   Deutsch Wikipedia

  • Log4j — Apache log4j Тип Журналирование Разработчик Apache Software Foundation Написана на Java Операционная система Кроссплатформенное ПО Последняя версия 1.2.16 (6 апреля 2010) …   Википедия

  • log4j — Maintainer Ceki Gülcü, C. Arnold Entwickler Apache Software Foundation Aktuelle Version 1.2.16 (6. April 2010) Betriebssystem plattformunabhängig …   Deutsch Wikipedia

  • Apache HTTP Server — Original author(s) Robert McCool Developer(s) Apache Software Foundation Initial release …   Wikipedia

  • OpenOffice.org — Open office redirects here. For other uses, see Open office (disambiguation). OpenOffice.org …   Wikipedia

  • Nutch — Lucene Nutch Screenshot  …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”