Java-Protokollierung

Die Java™-Protokollierung ist das Protokollierungstoolkit, das vom Paket "java.util.logging" bereitgestellt wird. Die Java-Protokollierung stellt eine Standardprotokollierungs-API für Ihre Anwendungen bereit.

Nachrichtenprotokollierung (Nachrichten) und Diagnosetrace (Trace) sind vom Konzept her ähnlich, haben jedoch deutliche Unterschiede. Für Anwendungsentwickler ist es wichtig, diese Unterschiede zu verstehen, damit sie diese Werkzeuge richtig einsetzen können. Nachrichten und Trace sind wie folgt definiert.

Nachricht
Ein Nachrichteneintrag ist ein Datensatz zu Informationszwecken, der von Endbenutzern, Systemadministratoren und von der Benutzerunterstützung geprüft werden soll. Der Nachrichtentext muss klar, präzise und für den Endbenutzer interpretierbar sein. Nachrichten werden gewöhnlich lokalisiert und in der Landessprache des Endbenutzers angezeigt. Obwohl Zieladresse und Lebensdauer von Nachrichten oft konfigurierbar sind, sollten Sie während des normalen Systembetriebs immer eine gewisse Stufe der Nachrichtenprotokollierung aktivieren. Die Nachrichtenprotokollierung muss aufgrund von Leistungsfähigkeitsüberlegungen und aufgrund der Größe des Nachrichtenrepository mit Umsicht eingesetzt werden.
Trace
Ein Traceeintrag ist ein Informationsdatensatz, der von Serviceingenieuren und Entwicklern verwendet werden soll. Als solches kann ein Tracedatensatz erheblich komplexer, textreicher und detaillierter sein als ein Nachrichteneintrag. Für Traceeinträge gibt es normalerweise keine Lokalisierungsunterstützung. Traceeinträge sind oft nur für die entsprechenden Entwickler und das Servicepersonal verständlich. Es wird davon ausgegangen, dass Traceeinträge nicht während dem normalen Laufzeitbetrieb geschrieben werden, sondern bei Bedarf aktiviert werden, um Diagnoseinformationen zu sammeln.

Der Anwendungsserver leitet die Systemdatenströme beim Serverstart um. Es gibt keine Möglichkeit, der Anwendung zu erlauben, die Protokolldaten an der Konsole auszugeben, weil die Systemdatenströme nicht von der Anwendung abgerufen werden können. Wenn Sie die Anwendung ohne Konsolhandler mit der Anwendung überwachen möchten, können Sie entweder die Datei SystemOut.log oder eine von einem andern Dateihandler erstellte Datei überwachen.

Anmerkung: Der Anwendungsserver verwendet die Java-Protokollierung intern, und deshalb gelten gewisse Einschränkungen bezüglich der Verwendung von Systemdatenströmen durch Anwendungen in dieser Protokollierungs-API. Während des Serverstarts werden die Standardausgabe- und Standardfehlerdatenströme durch spezielle Datenströme ersetzt, die in die Protokollierungsinfrastruktur schreiben, um die Ausgabe der Systemdatenströme in die Protokolldateien einzufügen. Deshalb können java.util.logging.ConsoleHandler und andere Handler, die in die Datenströme SystemErr.log und System.out schreiben, die mit der Stammprotokollfunktion verbunden sind, nicht von Anwendungen verwendet werden. Wenn der Benutzer den Handler nicht mit der Stammprotokollfunktion verbindet, ergibt sich eine Endlosschleife innerhalb der Protokollierungsinfrastruktur, die zu einem Stack-Überlauf und zu einem Serverabsturz führt.

Wenn ein Handler verwendet werden muss, der in die Systemdatenströme schreibt, verbinden Sie ihn mit einer anderen Protokollfunktion (Logger) als der Stammprotokollfunktion, so dass er keine Protokollsätze an die übergeordneten Handler veröffentlicht. Die in die Systemdatenströme geschriebenen Daten werden anschließend formatiert und in die entsprechende Protokolldatei für den Systemdatenstrom geschrieben. Wenn Sie überwachen möchten, was in die Systemdatenströme geschrieben wird, können Sie die konfigurierten Protokolldateien (standardmäßig SystemOut.log und SystemErr.log) überwachen.

Anmerkung: Dieser Artikel referenziert eine oder mehrere Protokolldateien des Anwendungsservers. Alternativ dazu wird empfohlen, den Server so zu konfigurieren, dass er die HPEL-Protokoll- und -Traceinfrastruktur (High Performance Extensible Logging) verwendet und nicht die Dateien SystemOut.log , SystemErr.log, trace.log und activity.log auf verteilten oder IBM® i-Systemen. Sie können HPEL auch in Verbindung mit Ihren nativen z/OS-Protokolleinrichtungen verwenden. Wenn Sie HPEL verwenden, können Sie mit dem Befehlszeilentool LogViewer im Verzeichnis "bin" des Serverprofils auf alle Ihre Protokoll- und Tracedaten zugreifen. Weitere Informationen zur Verwendung von HPEL finden Sie in der Dokumentation zum Einsatz von HPEL für die Fehlerbehebung in Anwendungen.
[z/OS]Anmerkung: Die Datenströme SystemOut.log und STDOUT werden unter z/OS an den Datendefinitionsnamen SYSPRINT umgeleitet. Die Datenströme SystemErr.log und STDERR werden unter z/OS an den Datendefinitionsnamen SYSOUT umgeleitet. Standardmäßig ordnen die katalogisierten Prozeduren von WebSphere Application Server für z/OS diese so genannten Datendefinitionsnamen Ausgabedateien (SYSOUT=*) zu. Dies bewirkt, dass Nachrichtenprotokolle in die Jobausgabe von WebSphere Application Server geschrieben werden. Die Jobausgabe kann mit Spool Display and Search Facility (SDSF) oder einer entsprechenden Software angezeigt werden.

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_javalogging
Dateiname:ctrb_javalogging.html