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.
              log4j kann von der Apache - log4j Homepage  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.
              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.
            
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!");
  }
}
Als Ergebnis des Programmablaufs wird in der Konsole der erwartete Gruß ausgegeben.
INFO - Hello world from log4j!
            
            
            Folgende vordefinierte Log-Level existieren in log4j:
Level.TRACELevel.DEBUGLevel.INFOLevel.WARNLevel.ERRORLevel.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.
            
              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.
            
              Basis für die Layout-Definition ist die abstrakte Klasse
              org.apache.log4j.Layout. Konkrete Implementierungen in log4j sind:
            
SimpleLayoutPatternLayoutHTMLLayoutXMLLayoutDateLayout
              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
              
              Home - Apache log4j
              Apache log4j
               
            
              Ceki Gülcü
              Short introduction to log4j
              http://logging.apache.org/log4j/1.2/manual.html 
               
            
              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