Protokollierung und Traceerstellung

Das Produkt hat eine einheitliche Protokollierungskomponente, die vom Produkt geschriebene Nachrichten verarbeitet und FFDC-Services bereitstellt (First-Failure Data Capture).

Die Protokollierungskomponente erfasst außerdem Nachrichten, die in System.out, System.err, java.util.logging und in OSGi-Protokolle geschrieben werden. Die Protokollierungskomponente vereinheitlicht die Verarbeitung dieser Nachrichten mit anderen vom Produkt geschriebenen Nachrichten. Die Protokollierungskomponente kann keine Nachrichten erfassen, die direkt vom JVM-Prozess geschrieben werden, wie z. B. die Ausgabe -verbose:gc.

Es gibt drei primäre Protokolldateien für einen Server:
  1. console.log - Diese Datei enthält die umgeleiteten Standardausgabe- und Standardfehlerdatenströme des JVM-Prozesses. Diese Konsolenausgabe ist für die direkte Verwendung durch Benutzer vorgesehen. Die Protokollierungskomponente schreibt wichtige Ereignisse in den Standardausgabedatenstrom und Fehler in den Standardsfehlerdatenstrom, wenn Sie die consoleLogLevel-Standardkonfiguration verwenden. Außerdem kopiert die Protokollierungskomponente alle Nachrichten, die in den Datenstrom System.out geschrieben werden, in den Standardausgabedatenstrom und alle Nachrichten, die in den Datenstrom System.err geschrieben werden, in den Standardfehlerdatenstrom, wenn Sie die copySystemStreams-Standardkonfiguration verwenden. Zudem enthalten die Standardausgabe- und Standardfehlerdatenströme immer Nachrichten, die direkt vom JVM-Prozess geschrieben wurden, z. B. die Ausgabe -verbose:gc. Diese Datei wird nur erstellt, wenn der Befehl "server start" verwendet wird, und ihre Position kann nur mit der Umgebungsvariablen LOG_DIR geändert werden. Weitere Informationen finden Sie im Artikel Liberty über die Befehlszeile verwalten.
  2. messages.log - Diese Datei enthält alle Nachrichten, die von der Protokollierungskomponente geschrieben oder erfasst werden. Alle Nachrichten, die in diese Datei geschrieben werden, enthalten zusätzliche Informationen, wie z. B. die Zeitmarke der Nachricht und die ID des Threads, der die Nachricht geschrieben hat. Sie enthält keine Nachrichten, die direkt vom JVM-Prozess geschrieben wurden.
  3. trace.log - Diese Datei enthält alle Nachrichten, die von der Protokollierungskomponente geschrieben oder erfasst werden, und alle zusätzlichen Traces. Sie wird nur erstellt, wenn zusätzliche Traces aktiviert werden. Diese Datei enthält keine Nachrichten, die direkt vom JVM-Prozess geschrieben wurden.

Protokollierungskonfiguration

Die Protokollierungskomponente kann über die Serverkonfiguration gesteuert werden. Die primäre Position für die Protokollierungskonfiguration ist in der Datei server.xml. In einigen Fällen müssen Sie möglicherweise den Trace konfigurieren, um ein Problem zu diagnostizieren, das auftritt, bevor die Datei server.xml verarbeitet wird. In diesem Fall können die funktional entsprechenden Konfigurationseigenschaften in der Datei bootstrap.properties angegeben werden. Wenn eine Konfigurationseigenschaft in der Datei bootstrap.properties und in der Datei server.xml angegeben wird, wird der Wert in der Datei bootstrap.properties verwendet, bis die Datei server.xml verarbeitet wurde. Anschließend wird der Wert in der Datei server.xml verwendet. Sie sollten es vermeiden, unterschiedliche Werte für dieselbe Konfigurationseigenschaft in den Dateien bootstrap.properties und server.xml anzugeben.
Tabelle 1. Protokollierungseigenschaften für Liberty. Spalte 1 enthält Attribute, die in der Datei server.xml festgelegt werden können. Spalte 2 enthält funktional entsprechende Eigenschaften, die in der Datei bootstrap.properties verwendet werden können. Spalte 3 enthält eine Beschreibung jeder Protokollierungseigenschaft.
Attribut Funktional entsprechende Eigenschaft Beschreibung
logDirectory
com.ibm.ws.logging
.log.directory
Mit diesem Attribut können Sie das Verzeichnis für alle Protokolldateien, ausschließlich der Datei console.log, aber einschließlich FFDC, festlegen. Standardmäßig wird für logDirectory die Umgebungsvariable LOG_DIR angegeben. Der Standardpfad der Umgebungsvariablen LOG_DIR ist WLP-Ausgangsverzeichnis/serverName/logs.
Fehler vermeiden: Verwenden Sie die Umgebungsvariable LOG_DIR oder die Eigenschaft com.ibm.ws.logging.log.directory und nicht das Attribut logDirectory, um das Verzeichnis zu konfigurieren, in das alle Nachrichten geschrieben werden sollen. Andernfalls werden einige Nachrichten anfangs standardmäßig in das Verzeichnis logs und die übrigen Nachrichten in das angegebene, auf Ihrer Konfiguration basierende, Verzeichnis geschrieben. Das Attribut logDirectory kann verwendet werden, um das Verzeichnis für die Protokollausgabe dynamisch mit dem angegebenen Verzeichnis zu aktualisieren, während der Server ausgeführt wird.
maxFileSize
com.ibm.ws.logging
.max.file.size
Die maximale Größe (in MB), die eine Protokolldatei erreichen kann, bevor sie geschlossen und eine neue Protokolldatei erstellt wird. Die Verwendung von Protokollen nach dem Rotationsprinzip durch die Liberty-Laufzeit erfolgt nur größenbasiert. Wenn Sie dieses Attribut inaktivieren möchten, setzen Sie es auf 0. Die maximale Dateigröße wird näherungsweise berechnet. Der Standardwert ist "20".
Anmerkung: maxFileSize ist für die Datei console.log nicht gültig.
maxFiles
com.ibm.ws.logging
.max.files
Wenn eine maximal zulässige Dateigröße festgelegt ist, wird diese Einstellung verwendet, um zu bestimmen, wie viele Protokolldateien beibehalten werden. Diese Einstellung gilt auch für die Anzahl der Ausnahmeprotokolle, in denen die an einem bestimmten Tag eingetretenen Ausnahmen zusammengefasst werden. Wenn Sie für diese Einstellung beispielsweise den Wert 10 festlegen, können im Verzeichnis ffdc/ 10 Nachrichtenprotokolle, 10 Traceprotokolle und 10 Ausnahmezusammenfassungen enthalten sein. Der Standardwert ist "2".
Anmerkung: maxFiles ist für die Datei console.log nicht gültig.
consoleLogLevel
com.ibm.ws.logging
.console.log.level
Dieser Filter steuert die Detailgenauigkeit von Nachrichten in der Datei console.log. Die gültigen Werte sind INFO, AUDIT, WARNING, ERROR und OFF. Standardmäßig ist die Stufe AUDIT eingestellt.
Für verteilte PlattformenAnmerkung: Lesen Sie, bevor Sie diesen Wert ändern, die Informationen im Abschnitt "Nach Änderung der Einstellungen der Konsolenprotokollstufe ist keine Interaktion mit dem Liberty-Server möglich" unter Bekannte Einschränkungen von Developer Tools.
copySystemStreams
com.ibm.ws.logging.
copy.system.streams
Ist der Wert "true", werden Nachrichten, die in die Datenströme System.out und System.err geschrieben wurden, in die Datei console.log kopiert. Ist der Wert "false", werden diese Nachrichten in konfigurierte Protokolle wie messages.log oder trace.log geschrieben, aber nicht in die Datei console.log kopiert. Der Standardwert ist "true".
messageFileName
com.ibm.ws.logging
.message.file.name
Das Nachrichtenprotokoll hat den Standardnamen messages.log. Diese Datei ist immer vorhanden und enthält zusätzlich zu System.out und System.err INFO- und andere Nachrichten (AUDIT, WARNING, ERROR, FAILURE). Dieses Protokoll enthält außerdem Zeitmarken und die IDs der ausgebenden Threads. Beim Rollover der Protokolldatei erhalten die Namen der früheren Protokolldateien das Format messages_Zeitmarke.log
suppressSensitiveTrace   Der Server-Trace kann sensible Daten enthalten, wenn darin nicht typisierte Daten erfasst werden, wie z. B. für Bytes, die über eine Netzverbindung empfangen wurden. Wenn dieses Attribut auf "true" gesetzt ist, wird verhindert, dass Protokoll- und Tracedateien sensible Informationen enthalten. Der Standardwert ist "false".
traceFileName
com.ibm.ws.logging
.trace.file.name
Die Datei trace.log wird nur erstellt, wenn die Erstellung eines zusätzlichen oder detaillierten Trace aktiviert ist. stdout ist ein Sonderwert und bewirkt, dass der Trace in den ursprünglichen Standardausgabedatenstrom übertragen wird.
traceSpecification
com.ibm.ws.logging
.trace.specification
Die Tracezeichenfolge wird für eine selektive Traceaktivierung verwendet. Der Standardwert ist *=info.
traceFormat
com.ibm.ws.logging
.trace.format
Dieses Attribut steuert das Format des Traceprotokolls. Das Standardformat für Liberty ist ENHANCED. Sie können auch die Formate BASIC und ADVANCED wie im vollständigen Profil verwenden.
hideMessage
com.ibm.ws.logging.hideMessage
Sie können dieses Attribut verwenden, um die Nachrichten zu konfigurieren, die Sie in den Dateien console.log und message.log ausblenden möchten. Wenn die Nachrichten als verdeckt konfiguriert werden, werden sie in die Datei trace.log umgeleitet.
Anmerkung: Lesen Sie, bevor Sie dieses Attribut verwenden, die Informationen im Abschnitt Serverstart kann nicht erkannt werden, wenn Nachrichten mit dem hideMessage-Attribut unterdrückt werden unter Bekannte Einschränkungen von Developer Tools.
Sie können Protokollierungseigenschaften in der Serverkonfigurationsdatei festlegen, indem Sie in der Ansicht Serverkonfiguration in den Entwicklertools die Option Protokollierung und Tracing auswählen oder indem Sie der Serverkonfigurationsdatei wie folgt ein logging-Element hinzufügen:
<logging traceSpecification="*=audit:com.myco.mypackage.*=finest"/>
Das Format für die Angabe der Protokolldetailstufe lautet wie folgt:
<Komponente> = <Stufe>

Für diese Angaben gilt Folgendes: <Komponente> ist die Komponente, für die eine Protokolldetailstufe festgelegt werden soll und <Stufe> ist eine der gültigen Protokollierungsstufen (off, fatal, severe, warning, audit, info, config, detail, fine, finer, finest, all). Trennen Sie mehrere Angaben von Protokolldetailstufen mit Doppelpunkten (:) voneinander.

Achtung: Für eine bestimmte Protokollfunktion wird die Stufe von der spezifischsten Tracespezifikation festgelegt, die für diese Protokollfunktion gültig ist.
Komponenten entsprechen Java™-Paketen und -Klassen oder Sammlungen von Java-Paketen. Verwenden Sie einen Stern (*) als Platzhalterzeichen, um Komponenten anzuzeigen, die alle Klassen in allen Paketen umfassen, die in der angegebenen Komponente enthalten sind. Beispiel:
*
Gibt den gesamten tracefähigen Code an, der im Anwendungsserver einschließlich des Produktsystemcodes und des Kundencodes ausgeführt wird.
com.ibm.ws.*
Gibt alle Klassen an, deren Paketname mit "com.ibm.ws" beginnt.
com.ibm.ws.classloader.JarClassLoader
Gibt nur die Klasse JarClassLoader an.
Tabelle 2. Gültige Protokollierungsstufen. In der folgenden Tabelle sind die gültigen Stufen für Anwendungsserver von WebSphere Application Server Version 6 und höher aufgelistet.
Protokollierungsstufe der Version 6 und höher Inhalt / Bedeutung
off Protokollierung ist ausgeschaltet.
fatal Task kann nicht fortgesetzt werden und Komponente, Anwendung und Server können nicht funktionieren.
severe Task kann nicht fortgesetzt werden, doch Komponente, Anwendung und Server funktionieren noch. Diese Stufe kann auch einen bevorstehenden nicht behebbaren Fehler anzeigen.
warning Potenzieller Fehler oder bevorstehender Fehler. Diese Stufe kann auch einen progressiven Fehler anzeigen (z. B. ein potenzielles Ressourcenleck).
audit Signifikantes Ereignis, das sich auf Serverstatus oder Ressourcen auswirkt.
info Allgemeine Informationen, die den Gesamtfortschritt einer Task umreißen.
config Konfigurationsänderung oder -status
detail Allgemeine Informationen mit Details zum Fortschritt der Subtask.
fine Traceinformationen - Allgemeiner Trace und Methodeneintritt, Methodenaustritt und Rückgabewerte
finer Traceinformationen - Detaillierter Trace
finest Traceinformationen - Ein noch detaillierterer Trace, der alle Details enthält, die für die Fehlerbehebung benötigt werden.
all Alle Ereignisse werden protokolliert. Wenn Sie angepasste Ebenen erstellen, schließt die Einstellung all diese Ebenen ein und kann einen ausführlicheren Trace bereitstellen als die Einstellung "finest".
Die Datei console.log kann nicht so verwaltet werden wie andere Protokolldateien. Die einzige Eigenschaft, die Sie ändern können, ist consoleLogLevel. Wenn die wachsende Größe der Datei console.log ein Problem darstellt, können Sie die Datei console.log inaktivieren und stattdessen die Nachrichtenprotokolldatei verwenden. In die Nachrichtenprotokolldatei werden dieselben Daten in einem anderen Format geschrieben. Größe und Anzahl der Nachrichtenprotokolldateien können mit den Attributen maxFileSize und maxFiles gesteuert werden. Die folgende Datei bootstrap.properties erzeugt beispielsweise eine leere Datei console.log und maximal drei 1 MB große Dateien des Typs loggingMessages.log, die nach dem Rotationsprinzip verwendet werden. Nachrichten der zugrunde liegenden JVM können aber weiterhin in die Datei console.log geschrieben werden. Die Einstellungen in der Datei bootstrap.properties treten bereits in Kraft, bevor die Nachrichtenprotokolldatei erstellt wird. Daher wird die Nachrichtenprotokolldatei ursprünglich als loggingMessages.log und nicht mit dem Standardnamen messages.log erstellt.
   com.ibm.ws.logging.max.file.size=1
   com.ibm.ws.logging.max.files=3
   com.ibm.ws.logging.console.log.level=OFF
   com.ibm.ws.logging.message.file.name=loggingMessages.log
Die Datei console.log wird zurückgesetzt, wenn der Server erneut gestartet wird.
Anmerkung: Protokolle werden auf allen Plattformen in der Standardcodierung des Systems geschrieben.
  • Für Windows-PlattformenAuf Windows-Systemen gibt es zwei Typen von Codierungen: die OEM-Codepage, die für Konsolenausgabe verwendet wird, und die ANSI-Codepage, die für das Lesen und Schreiben von Dateien verwendet wird. Die Datei console.log verwendet die OEM-Codepage. Alle anderen Protokolle verwenden die ANSI-Codepage.
  • Für verteilte PlattformenAuf allen anderen Plattformen verwenden alle Protokolldateien die Standardcodierung.

Symbol das den Typ des Artikels anzeigt. Referenzartikel



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