Binärprotokoll- und Traceerweiterungen für SIP (Session Initiation Protocol) in Liberty
Die Binärprotokollierung ermöglicht Entwicklern, Protokoll- und Tracedatensätze Erweiterungsfelder hinzuzufügen. Entsprechend erhalten Sie die Möglichkeit, Protokoll- und Tracendatensätze anhand des Erweiterungswerts zu filtern.
Protokoll- und Tracedatensätze enthalten Felder für Informationen wie die Erstellungszeit des Datensatzes und den Inhalt der protokollierten Nachricht. Diese Felder sind zentrale Felder, die in jedem Protokoll- und Tracedatensatz enthalten sind. Erweiterungsfelder sind dagegen Feldern, die Anwendungsentwickler Protokoll- und Tracedatensätzen hinzufügen können und die Sie als Filterkriterien bei der Suche nach bestimmten Protokoll- und Traceinhalten verwenden können. Diese Protokoll- und Traceerweiterungen sind im Binärprotokoll sichtbar, wenn Sie das Textausgabeformat so konfigurieren, dass das erweiterte Format verwendet wird, oder wenn Sie den Befehl "binaryLog" im erweiterten Format verwenden.
- Administratoren
Der Anwendungsserver erstellt automatisch eine Reihe von Erweiterungen, die Sie zum Filtern von Protokoll- und Tracedatensätzen verwenden können. Sie können Protokoll- und Tracedatensätze auch mit Erweiterungen filtern, die von Ihren Anwendungsentwicklern hinzugefügt werden. Sie können das Befehlszeilentool "binaryLog" verwenden, um Datensätze anhand des Inhalts der Protokoll- und Tracedatensatzerweiterungen zu filtern. Weitere Informationen finden Sie im Artikel Optionen für den Befehl "BinaryLog".
Sie können beispielsweise den folgenden binaryLog-Befehl verwenden, um alle SIP-Anwendungssitzungen anzuzeigen, die vom SIP-Container verarbeitet wurden:binaryLog view Binärdatei --includeExtension=SIPASId=* --format=advanced
- Entwickler
Entwickler können die Binärprotokollierung verwenden, um Protokoll- und Tracendatensätzen angepasste Erweiterungen über die Protokolldatensatzkontext-API, com.ibm.websphere.logging.hpel.LogRecordContext, hinzuzufügen. Wenn bei der Binärprotokollierung Protokoll- und Tracedatensätze gespeichert werden, werden alle Erweiterungen eingeschlossen, die im Protokolldatensatzkontext in demselben Thread vorhanden sind. Sie können beispielsweise einen Servletfilter schreiben, um dem Protokolldatensatzkontext wichtige HTTP-Anforderungsparameter hinzuzufügen. Während der Ausführung dieses Servlets fügt die HPEL-API diese Erweiterungen allen Protokoll- und Tracedatensätzen hinzu, die in demselben Thread erstellt werden.
Wie auch bei anderen Protokoll- und Tracedatensatzfeldern können Entwickler über die HPEL-API auf die Datensatzerweiterungen zugreifen. Diese API ist hilfreich, wenn Sie Tools zum Lesen von Daten aus Protokoll- und Tracerepositorys schreiben. Entwickler können die Protokolldatensatzkontext-API außerdem verwenden, um während der Ausführung auf Erweiterungen in angepassten Protokollhandlern, Filtern und Formatierungsprogrammen zuzugreifen.
In der folgenden Tabelle sind die Protokoll- und Traceerweiterungen, einschließlich der ID, die Sie zum Filtern verschiedener Traceaspekte verwenden können, beschrieben.
Erweiterung | Beschreibung |
---|---|
appName | Gibt den Namen der Java™ EE-Anwendung (Java Platform, Enterprise Edition) an, auf die sich der Protokoll- oder Tracendatensatz bezieht (sofern vorhanden). |
requestID | Gibt die eindeutige ID der Anforderung an, auf die sich jeder Protokoll- oder Tracendatensatz bezieht (sofern vorhanden). Damit der Anwendungsserver die Erweiterung "requestID" Protokoll- und Tracendatensätzen hinzufügt, müssen Sie "Komponentenübergreifender Trace" (Cross Component Trace, XCT) aktivieren. XCT wird in der Administrationskonsole auch als Protokoll- und Tracekorrelation bezeichnet. Anforderungs-IDs werden nur für bestimmte Anforderungstypen wie HTTP- oder JMS-Anforderungen hinzugefügt. |
SIPCallId | Gibt die SIP-Ruf-ID an, die vom SIP-Proxy-Server oder SIP-Container verarbeitet wird. Diese Information ist in SIP-Proxy-Servern und SIP-Containern einheitlich. Sie können diese Erweiterung verwenden, um den SIP-Rufablauf in den verschiedenen Komponenten zu verfolgen. Der SIP-Proxy-Server und der SIP-Container fügen diese ID automatisch jedem Protokoll- und Tracedatensatz hinzu, sofern die HPEL-Protokollierung aktiviert ist. |
SIPASId | Gibt die SIP-Anwendungssitzungs-ID an, die vom SIP-Container verarbeitet wird. Diese Information ist in SIP-Containern einheitlich. Sie können diese Erweiterung verwenden, um den SIP-Rufablauf zu verfolgen. Der SIP-Container fügt diese ID automatisch jedem Protokoll- und Tracedatensatz hinzu, sofern die HPEL-Protokollierung aktiviert ist. |
SIPSessionId | Gibt die SIP-Sitzungs-ID an, die vom SIP-Container verarbeitet wird. Diese Information ist in SIP-Containern einheitlich. Sie können diese Erweiterung verwenden, um den SIP-Rufablauf zu verfolgen. Der SIP-Container fügt diese ID automatisch jedem Protokoll- und Tracedatensatz hinzu, sofern die HPEL-Protokollierung aktiviert ist. |
SIPCallId2 | Gibt die zweite SIP-Ruf-ID an, die derselben SIP-Anwendungssitzung zugeordnet ist und vom SIP-Container verarbeitet wird. Diese Information ist in SIP-Containern einheitlich. Sie können diese Erweiterung verwenden, um den SIP-Rufablauf zu verfolgen. Der SIP-Container fügt diese ID automatisch jedem Protokoll- und Tracedatensatz hinzu, sofern die HPEL-Protokollierung aktiviert ist. Wenn einer einzigen SIP-Anwendungssitzung mehr als zwei SIP-Ruf-IDs zugeordnet sind, werden nur die ersten beiden IDs aufgezeichnet. Die zusätzlichen IDs werden nicht aufgezeichnet. |
SIPSessionId2 | Gibt die zweite SIP-Sitzungs-ID an, die derselben SIP-Anwendunssitzung zugeordnet ist und vom SIP-Container verarbeitet wird. Diese Information ist in SIP-Containern einheitlich. Sie können diese Erweiterung verwenden, um den SIP-Rufablauf zu verfolgen. Der SIP-Container fügt diese ID automatisch jedem Protokoll- und Tracedatensatz hinzu, sofern die HPEL-Protokollierung aktiviert ist. Wenn einer einzigen SIP-Anwendungssitzung mehr als zwei SIP-Sitzungs-IDs zugeordnet sind, werden nur die ersten beiden IDs aufgezeichnet. Die zusätzlichen IDs werden nicht aufgezeichnet. |
thread | Gibt den Threadnamen der Anforderung an, auf die sich jeder Protokoll- oder Tracedatensatz bezieht. |