Jakarta Commons Logging

Jakarta Commons Logging ist eine einfache Protokollierungsschnittstelle und stellt Thin-Wrapper für verschiedene Protokollierungssysteme bereit. Die Protokollierungsschnittstelle macht die Protokollierung in einer Anwendung einfach und unabhängig vom Protokollierungssystem, das die Anwendung verwendet. Sie können die Protokollierungsimplementierung für eine implementierte Anwendung ändern, ohne den Code für die Anwendungsprotokollierung ändern zu müssen. Die Einfachheit der Protokollierungsschnittstelle verhindert jedoch, dass die Anwendung den vollständigen Funktionsumfang der Protokollierungssysteme nutzt.

Informationen zu Jakarta Commons Logging in WebSphere Application Server finden Sie in den folgenden Abschnitten:

Unterstützung für Jakarta Commons Logging

Für die Unterstützung von Jakarta Commons Logging in WebSphere Application Server wird eine Protokollfunktion (Logger) bereitgestellt. Diese Protokollfunktion ist ein Thin Wrapper für die Protokolleinrichtung des Produkts. Die Protokollfunktion kann sowohl die Protokollobjekte der Java-Protokollierung (JSR-47) als auch die Common Base Event-Protokollobjekte verarbeiten. Ein Protokollobjekt ist ein Objekt, das Protokolleinträge enthält.

Die Unterstützung von Jakarta Commons Logging im Produkt ändert keine von Jakarta Commons Logging definierten Schnittstellen.

Vorteile der Unterstützung für Jakarta Commons Logging

Die Unterstützung für Jakarta Commons Logging in WebSphere Application Server bietet die folgenden Vorteile:

  • WebSphere Application Server ist für die Verwendung von Jakarta Commons Logging vorkonfiguriert.

    Einer Anwendung oder Komponente von WebSphere Application Server stehen alle Funktionen von Jakarta Commons Logging zur Verfügung. Die Protokollierungsaufrufe werden standardmäßig an die zu Grunde liegende Protokolleinrichtung von WebSphere Application Server weitergeleitet.

  • Ein Protokollfunktion, die die Protokolleinrichtung von WebSphere Application Server nutzt.

    Anwendungen und Komponenten können die Protokollobjekte der Java-Protokollierung und des CBE (Common Base Event) an die Protokollfunktion von WebSphere Application Server ohne Konvertierung in Zeichenfolgen übergeben. Damit wird Anwendungen eine erweiterte Protokollierung ermöglicht. Außerdem sind Stufen der JCL-Protokollfunktion (Jakarta Commons Logging) in die Verwaltungseinrichtungen von WebSphere Application Server integriert.

Übersicht über die Verwendung von Jakarta Commons Logging

Die Protokollierung mit Jakarta Commons Logging umfasst die folgenden Schritte. Konfigurationen für die WebSphere Application Server-Protokollfunktion (Logger) beschreibt, wie Sie Ihre Anwendung für die Verwendung der Protokollfunktion von WebSphere Application Server konfigurieren.

  1. Eine Instanz einer Factory für Protokollfunktionen abrufen.

    Verwenden Sie den Code von Jakarta Commons Logging, um eine Factory für Protokollfunktionen zu erhalten. Sie können den Code für Ihre eigenen Anforderungen konfigurieren. In WebSphere Application Server ist der Code von Jakarta Commons Logging standardmäßig so konfiguriert, dass er eine Instanz der JCL-Standardfactory für Protokollfunktionen erstellt. Anwendungen oder Komponenten von WebSphere Application Server können ihre eigene Konfiguration bereitstellen, falls sie eine andere Implementierung der Factory für Protokollfunktionen verwenden. Anwendungen können mehrere Factorys verwenden.

  2. Eine Instanz der Protokollfunktion abrufen.

    Verwenden Sie den von einer Factory für Protokollfunktionen implementierten Code, um eine Protokollfunktion abzurufen. Die Konfiguration des Codes ist von der Implementierung abhängig.

    Die Protokollfunktion von WebSphere Application Server implementiert die Methoden, die in der Protokollierungsschnittstelle definiert sind. Die Protokollierungsmethoden akzeptieren mindestens ein Argument, das jedes Java-Objekt sein kann. Die Protokollfunktion von WebSphere Application Server, WsJDK14Logger, die im Artikel Für das Abrufen von Factorys für Protokollfunktionen und Protokollfunktionen verwendete Klassen beschrieben ist, verarbeitet die folgenden Objekte, die an die folgenden Protokollierungsmethoden übergeben werden:

    CommonBaseEvent
    Wird in einen CommonBaseEventLogRecord gepackt.
    CommonBaseEventLogRecord
    Wird unverändert übergeben.
    LogRecord
    Wird unverändert übergeben.
    Andere Objekte
    Werden in eine Zeichenfolge konvertiert.

    Anwendungen oder Komponenten von WebSphere Application Server können eine eigene Konfiguration verwenden, wenn sie eine Protokollfunktionsimplementierung verwenden, die nicht spezifisch für WebSphere Application Server ist. Eine Anwendung muss wissen, welche Factory verwendet wird, um sie konfigurieren zu können.

  3. Starten Sie Ihre Anwendung. Jakarta Commons Logging leitet die Protokollausgabe der Anwendung an die designierte Protokollfunktion weiter.

Für das Abrufen von Factorys für Protokollfunktionen und Protokollfunktionen verwendete Klassen

Tabelle 1. Klassenbeschreibung von Jakarta Commons Logging. Verwenden Sie die Klassen für eine Logger-Factory-Instanz und eine Protokollfunktion (Logger).
Klassenname Beschreibung
LogFactory LogFactory ist eine Jakarta-Commons-Logging-Klasse, die Initialisierungslogik implementiert. LogFactory ist eine abstrakte Klasse, die von jeder Factory-Implementierung für Protokollfunktionen erweitert werden muss. Sie stellt statische Methoden bereit, um Folgendes zu erhalten:
  • Eine Instanz einer Factory-Klasse.
  • Instanzen einer Protokollfunktion, wobei eine Instanz der Factory-Klasse verwendet wird.
LogFactory stellt Methoden bereit, mit denen Sie Protokollfunktionsinstanzen erhalten können, obwohl diese Methoden die Instanzerstellung und Konfiguration der Protokollfunktionen an eine Instanz der Factory-Klasse für Protokollfunktionen delegieren.

Factorys für Protokollfunktionen werden nach dem Erstellen einer Instanz auf der Basis der Kontextklassenlader in einem Cache zwischengespeichert. Die Instanzen in einem Cache können freigegeben werden. Diese Funktionalität wurde eher für Plattformcontainerimplementierungen als für Anwendungen vorgesehen.

LogFactoryImpl LogFactoryImpl ist eine konkrete Klasse von Jakarta Commons Logging, die die Standardfactory für Protokollfunktionen mittels Methoden in LogFactory implementiert. Zur Verwendung der Java-Protokollierung muss mindestens eine Instanz einer Factory-Klasse für Protokollfunktionen vorhanden sein, selbst wenn die Anwendung diese nicht explizit abgerufen hat. Wenn die Konfiguration keine Factory-Klasse für Protokollfunktionen angibt, wird standardmäßig LogFactoryImpl verwendet.
Log Log ist eine JCL-Schnittstelle (Jakarta Commons Logging) für Protokollfunktionen. JCL-Protokollfunktionen müssen die Schnittstelle "Log" implementieren. Da Jakarta Commons Logging als Wrapper für Protokollierungssysteme beabsichtigt ist, definiert die Schnittstelle Log eine kleine Gruppe gebräuchlicher Protokollierungsmethoden. In WebSphere Application Server implementiert die Protokollfunktion "WsJDK14Logger" die Schnittstelle "Log".

Die Instanzierung und Konfiguration der Protokollfunktion richtet sich nach der jeweiligen Factory für Protokollfunktionen. Die Protokollierung in WebSphere Application Server verwendet die von Jakarta Commons Logging bereitgestellte Standardfactory für Protokollfunktionen, die instanzierte Protokollfunktionen auf Basis des Klassenladerkontextes im Cache verwaltet.

WsJDK14Logger WsJDK14Logger ist eine Klasse von WebSphere Application Server, die durch die Implementierung der Schnittstelle "Log" eine JCL-Protokollfunktion bereitstellt. Im Gegensatz zur Protokollfunktion der Java-Protokollierungs unterstützt die Protokollfunktion "WsJDK14Logger" die Übergabe von Java-Protokollierungs- und CBE-Objekten ohne Konvertierung in Zeichenfolgeobjekte. Auf diese Weise wird verhindert, dass Informationen durch die Konvertierung verloren gehen. Außerdem ist eine aussagefähigere und präzisere Protokollausgabe möglich. Die Protokollfunktion der Java-Protokollierung in Jakarta Commons Logging hingegen konvertiert Objekte, die an die Protokollierungsaufrufe übergeben werden, in Zeichenfolgeobjekte, bevor er sie an die zugrundeliegende Java-Protokolleinrichtung übergibt.

Konfiguration und Zuordnung von Protokollfunktionsstufen

Da JCL-Protokollfunktionen Thin Wrapper für bestimmte Protokollierungssysteme sind, haben die Protokollfunktionen keine eigene Stufe, sondern verwenden die Stufe der Protokollfunktion aus dem zugrunde liegenden Protokollierungssystem. Das zu Grunde liegende System kann zwar Methoden für die Änderung der Protokollstufe bereitstellen, aber es sind keine entsprechenden Methoden in der Schnittstelle "Log" definiert, die alle Protokollfunktionen von Jakarta Commons Logging implementieren müssen. Die Protokollfunktion "WsJDK14Logger" verwendet die Protokollstufe der zugrunde liegenden Protokollfunktionen der Java-Protokollierung.

Die folgende Tabelle zeigt die Zuordnung der JCL-Stufen in WsJDK14Logger zu den Stufen der Implementierung der Java-Protokollierung in WebSphere Application Server. In der ersten Spalte werden die in der Java-Protokollierung definierten Stufen und die Stufenzuordnung in der JCL-Protokollfunktion "JDK14Logger" zu den Stufen der Java-Protokollierung gezeigt.

Tabelle 2. Zuordnung von WsJDK14Logger-Protokollstufen zu Java-Protokollstufen. Vergleichen Sie die Protokollstufen.
WsJDK14Logger Java-Protokollierung in WebSphere Application Server Java-Protokollierung JDK14Logger
Fatal Fatal    
Error Severe Severe Fatal, Error
Warning Warning Warning Warning
  Audit    
Information Information Information Information
  Config Config  
  Detail    
Debug Fine Fine Debug
  Finer Finer  
Trace Finest Finest Trace

Die Protokollstufe der Protokollfunktion WsJDK14Logger wird mit der Protokollstufe der zu Grunde liegenden Protokollfunktion Java-Protokollierung synchronisiert. Die Verwaltung von WebSphere Application Server steuert die Protokollstufe für die Protokollfunktion WsJDK14Logger.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ctrb_classload_jcl
Dateiname:ctrb_classload_jcl.html