log4j

Einstieg
Download und Installation
Hello world from log4j!
Log-Level
Appender und Layout
NDC und MDC
Links

Einstieg

log4j ist ein Open-Source Logging-Framework für die Java-Umgebung. Über Logger werden Laufzeitinformationen in das Loggingsystem geleitet. Logging-Level, die auch zur Laufzeit verändert werden können, legen fest, welche Meldungen in das Logingsystem geleitet werden. log4j ist ein Projekt der Apache Software Foundation. Grundlage diese Artikels ist log4j in der Version 1.2.15.

Download und Installation

log4j kann von der Apache - log4j Homepage Flagge Großbritanien heruntergeladen werden. Nach dem herunterladen muss die gepackte Datei in ein Verzeichnis der eigenen Wahl entpackt werden. Ein Installationsprogramm oder ähnlich braucht nicht ausgeführt werden, da es sich bei log4j um eine Programmbibliothek handelt.

Um mit log4j zu arbeiten muss lediglich sichergestellt werden, dass das jar log4j-1.2.15.jar sich im Classpath des entsprechenden Projektes befindet.

Hello world from log4j!

An dieser Stelle wird das obligatorische "Hello world!" - Programm für die log4j Bibliothek vorgestellt. Kompilieren Sie fogedes Programm und starten es:

import org.apache.log4j.*;

public class HelloWorldLog4j{
  
  public static void main(String[] args){
    Logger  logger = Logger.getLogger("ko3logger");
    SimpleLayout layout = new SimpleLayout();
    ConsoleAppender appender = new ConsoleAppender(layout);    
    logger.addAppender(appender);
    logger.info("Hello world from log4j!");
  }
}
itmapa.de - X2H V 0.18

Als Ergebnis des Programmablaufs wird in der Konsole der erwartete Gruß ausgegeben.

INFO - Hello world from log4j!
            

Log-Level

Folgende vordefinierte Log-Level existieren in log4j:

  • Level.TRACE
  • Level.DEBUG
  • Level.INFO
  • Level.WARN
  • Level.ERROR
  • Level.FATAL

Neben den vordefinierten Log-Level können auch eigene Log-Level durch ableiten der Klasse org.apache.log4j.Level definiert werden

Weiterhin kann das Log-Level auf Level.ALL (für alle Log-Ausgaben) und Level.OFF (für keine Log-Ausgaben festgelegt werden. Zu diesen beiden Log-Level exestieren keine entsprechenden Logging-Methoden.

Appender und Layout

Mit Hilfe von Appender kann festgelegt werden, wohin die Logging Informationen geleitet werden sollen. Zwei gängige (aber nicht einzig existierende) Appender sind der ConsoleAppender für die Ausgabe auf der Konsole und der FileAppender für die Ausgabe in einer Datei.

Um die Ausgaben zu formatieren dienen in log4j das so genannte Layout. Im Beispiel HelloWorldLog4j wurde als Appender ein ConsoleAppender und als Layout das SimpleLayout verwendet.

Layout

Basis für die Layout-Definition ist die abstrakte Klasse org.apache.log4j.Layout. Konkrete Implementierungen in log4j sind:

  • SimpleLayout
  • PatternLayout
  • HTMLLayout
  • XMLLayout
  • TTCCLayout mit der abstrakten Oberklasse DateLayout

NDC und MDC

NDC ist ein Akronym für: Nested Diagnostic Context.
MDC ist ein Akronym für; Mapped Diagnostic Context.

NDC und MDC dienen dazu log-Informationen aus verschiedenen Quellen zu differenzieren. Beide verfahren werden mit gleichnamigen Klassen von log4j unterstü. Gleich ist beiden Klassen, dass sie auf thread-Basis arbeiten. Der wesentliche Unterschied liegt darin, dass NDC stack - basiert und MDC map - basiert arbeitet.

Apache Software Foundation Flagge Großbritanien
Home - Apache log4j
Apache log4j Flagge Großbritanien

Ceki Gülcü
Short introduction to log4j
http://logging.apache.org/log4j/1.2/manual.html  Flagge Großbritanien

de.wikipedia.org
log4j
http://de.wikipedia.org/wiki/Log4J

Torsten Horn
Logging mit log4j
http://www.torsten-horn.de/techdocs/java-log4j.htm

Dirk Schnelle
http://www.javacore.de/tutorials.php
log4jmanual.pdf