Die Protokoll- und Traceanalyse bietet Standalone- und Plug-in-Support für die folgenden Protokolldienstprogramme:
Diese Unterstützung umfasst Folgendes:
Diese Unterstützung wird über die folgenden Plug-ins bereitgestellt:
Protokolldienstprogramm |
Plug-in |
---|---|
Java Logging (JSR-047) |
org.eclipse.hyades.logging.java14 |
Apache Jakarta Commons-Protokollierung |
org.eclipse.hyades.logging.commons |
Apache Jakarta Log4J-Protokollierung |
org.eclipse.hyades.logging.log4j |
Die folgenden Abschnitte beschreiben die Details der einzelnen Arten der Unterstützung für Protokollierungsdienstprogramme und liefert Verweise auf Beispiele, die die jeweilige Verwendung demonstrieren.
Eine Erweiterung der Klasse java.util.logging.LogRecord im Paket org.eclipse.hyades.logging.java14 ermöglicht Ihnen die Erstellung eines angepassten Protokollsatzes zum Protokollieren eines org.eclipse.hyades.logging.events.cbe.CommonBaseEvents in einen java.util.logging.LogRecord. Dieser org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord erweitert (extends) java.util.logging.LogRecord und enthält einen Verweis auf ein org.eclipse.hyades.logging.events.cbe.CommonBaseEvent. Alle Eigenschaften von java.util.logging.LogRecord werden mindestens einer CBE-Eigenschaft zugeordnet, um Reflexivität für Steuerroutinen und Formatierungsprogramme beizubehalten, die CBE nicht entschlüsseln.
Durch eine Implementierung der Schnittstelle java.util.logging.Filter im Paket org.eclipse.hyades.logging.java14 lassen sich nur Datensätze des Typs org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord erfolgreich protokollieren.
Durch Erweitern der abstrakten Klasse java.util.logging.Formatter im Paket org.eclipse.hyades.logging.java14 lassen sich Steuerroutinen so konfigurieren, dass sie Protokollnachrichten org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord und java.util.logging.LogRecord nach XML konvertieren. Dieses Formatierungsprogramm org.eclipse.hyades.logging.java14.XmlFormatter konvertiert Protokollnachrichten org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord oder java.util.logging.LogRecord auf Basis des Schemas Common Base Event v1.0.1 nach XML. Bei der Formatierung wird die Protokollnachricht überprüft, um festzustellen, ob sie die Schnittstelle org.eclipse.hyades.logging.core.IExternalizableToXml implementiert (z.B. org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord). Ist dies der Fall, wird die API externalizeCanonicalXmlString() an Stelle der XML-Serialisierung aufgerufen. Ansonsten wird die Protokollnachricht java.util.logging.LogRecord auf Basis derselben Zuordnung des org.eclipse.hyades.logging.events.cbe.CommonBaseEvents in ein Common-Base-Event-Objekt konvertiert und durch Aufruf der API externalizeCanonicalXmlString() nach XML serialisiert.
Durch Erweitern der abstrakten Klasse java.util.logging.Handler
im Paket org.eclipse.hyades.logging.java lassen sich Protokollfunktionen so konfigurieren, dass sie
Protokollnachrichten
org.eclipse.hyades.logging.events.cbe.CommonBaseEvent und
java.util.logging.LogRecord über einen Protokollagenten protokollieren.
Die Steuerroutine org.eclipse.hyades.logging.java.LoggingAgentHandler prüft auf Basis des Filters und der Protokollstufe der Protokollfunktion und der Steuerroutine, ob eine Protokollnachricht org.eclipse.hyades.logging.java14.CommonBaseEventLogRecord bzw. java.util.logging.LogRecord, die an eine Protokollfunktion geschrieben wird, protokolliert werden kann. Wenn eine Protokollnachricht protokolliert werden soll, wird ein Protokollagent mit dem gleichen Namen wie die Protokollfunktion formatiert, welche die Nachricht protokolliert. Ansonsten kann die Steuerroutine org.eclipse.hyades.logging.java.SingleLoggingAgentHandler verwendet werden, die einen Protokollagenten namens Logging Agent Handler erstellt. Die Nachricht wird mit einem org.eclipse.hyades.logging.java.XmlFormatter in XML formatiert und an den Protokollagenten geschrieben.
Beispiel zur Veranschaulichung
Es wird ein Anschauungsbeispiel bereitgestellt, das darstellt, wie sich die Unterstützung für Java-Protokollierung (JSR-047) nutzen lässt. Es veranschaulicht die für neue und bestehende Benutzer des Standalone- und Plug-in-Supports für die Java-Protokollierung (JSR-047) benötigte Konfiguration und Instrumentierung. Weiterführende Informationen hierzu finden Sie unter Datei> Neu > Beispiel... > Hyades-Protokollierung > Beispiel für Hyades JSR-047-Protokollierung.
Über eine Implementierung der Schnittstelle org.apache.commons.logging.Log im Paket org.eclipse.hyades.logging.commons lässt sich eine Protokollfunktion erstellen, die zur Protokollierung von Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvents, java.lang.Objects und java.lang.Throwables verwendet werden kann. Die Steuerroutine org.eclipse.hyades.logging.commons.Logger prüft auf Basis der Protokollstufe der Protokollfunktion, ob Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvents, java.lang.Objects oder java.lang.Throwables, die an eine Protokollfunktion geschrieben werden, protokolliert werden können. Wenn die Protokollnachricht protokolliert werden soll, wird die Protokollnachricht des org.eclipse.hyades.logging.events.cbe.CommonBaseEvents, java.lang.Objects oder java.lang.Throwables formatiert und protokolliert. Es wird eine Implementierung der abstrakten Klasse org.apache.commons.logging.LogFactory bereitgestellt, die eine Proxy-Factory speziell für org.eclipse.hyades.logging.commons.Logger-Exemplare darstellt. Diese Proxy-Factory org.eclipse.hyades.logging.commons.LoggerFactory ist für die Verwendung in Umgebungen mit mehreren Klassenladeprogrammen beabsichtigt, wo für jedes einzelne Klassenladeprogramm verschiedene Arten von Protokollfunktionen und entsprechender Factorys benötigt werden, die alle die gleichen Apache Commons-Binarys verwenden.
Die Protokollfunktion org.eclipse.hyades.logging.commons.Logger formatiert Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvents, java.lang.Objects und java.lang.Throwables auf Basis des Schemas Common Base Event v1.0.1 nach XML. Bei der Formatierung wird die Protokollnachricht überprüft, um festzustellen, ob sie die Schnittstelle org.eclipse.hyades.logging.core.IExternalizableToXml (zum Beispiel, org.eclipse.hyades.logging.events.cbe.CommonBaseEvent) implementiert. Ist dies der Fall, wird die API externalizeCanonicalXmlString() an Stelle der XML-Serialisierung aufgerufen. Ansonsten wird die Protokollnachricht java.lang.Object bzw. java.lang.Throwable mithilfe des org.eclipse.hyades.internal.logging.core.XmlGenerators in ein Common Base Event-Objekt konvertiert und durch Aufruf der APIexternalizeCanonicalXmlString() nach XML serialisiert.
Die Protokollfunktion org.eclipse.hyades.logging.commons.Logger protokolliert Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object und java.lang.Throwable an einen Protokollagenten. Soll eine Protokollnachricht protokolliert werden, so wird ein Protokollagent mit dem gleichen Namen wie die Protokollfunktion formatiert, welche die Nachricht protokolliert. Die Nachricht wird in XML formatiert und an den Protokollagenten geschrieben.
Über eine Implementierung der Schnittstelle org.apache.commons.logging.Log im Paket org.eclipse.hyades.logging.commons lässt sich eine Protokollfunktion zur Protokollierung von Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object und java.lang.Throwable in einer lokalen Datei erstellen. Die Steuerungsroutine org.eclipse.hyades.logging.commons.FileLogger prüft auf Basis der Protokollstufe der Protokollfunktion, ob die Protokollnachricht org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object oder java.lang.Throwable, die protokolliert wird, protokolliert werden kann. Soll die Protokollnachricht protokolliert soll, so wird die Protokollnachricht org.eclipse.hyades.logging.events.cbe.CommonBaseEvent, java.lang.Object oder java.lang.Throwable in XML formatiert und in einer lokalen Datei protokolliert. Es wird eine Implementierung der abstrakten Klasse org.apache.commons.logging.LogFactory bereitgestellt, die eine Proxy-Factory speziell für org.eclipse.hyades.logging.commons.FileLogger-Exemplare darstellt. Diese Proxy-Factory org.eclipse.hyades.logging.commons.FileLoggerFactory ist für die Verwendung in Umgebungen mit mehreren Klassenladeprogrammen beabsichtigt, wo für jedes einzelne Klassenladeprogramm verschiedene Arten von Protokollfunktionen und entsprechender Factories benötigt werden, die alle die gleichen Apache Commons-Binarys verwenden.
Beispiel zur Veranschaulichung
Es wird ein Anschauungsbeispiel bereitgestellt, das darstellt, wie sich die Unterstützung für Apache Jakarta Commons-Protokollierung nutzen lässt. Es veranschaulicht die für neue und bestehende Benutzer des Standalone- und Plug-in-Supports für die Apache Jakarta Commons-Protokollierung benötigte Konfiguration und Instrumentierung. Weiterführende Informationen hierzu finden Sie unter Datei > Neu > Beispiel... > Hyades-Protokollierung > Beispiel für Hyades Apache Commons-Protokollierung.
Über die Nachrichteneigenschaft der Protokollnachricht org.apache.log4j.spi.LoggingEvent lässt sich ein org.eclipse.hyades.logging.events.cbe.CommonBaseEvent protokollieren.
Über eine Erweiterung der abstrakten Klasse org.apache.log4j.spi.Filter im Paket org.eclipse.hyades.logging.log4j lassen sich nur org.eclipse.hyades.logging.events.cbe.CommonBaseEvents erfolgreich protokollieren.
Durch eine Erweiterung der abstrakten Klasse org.apache.log4j.Layout im Paket org.eclipse.hyades.logging.log4j lassen sich Anhangsprogramme so konfigurieren, dass sie Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvent und org.apache.log4j.spi.LoggingEvent in XML formatieren. Dieses Formatierungsprogramm org.eclipse.hyades.logging.log4j.XmlLayout konvertiert die Protokollnachricht org.eclipse.hyades.logging.events.cbe.CommonBaseEvent oder org.apache.log4j.spi.LoggingEvent auf Basis des Schemas Common Base Event v1.0.1 nach XML. Bei der Formatierung wird die Protokollnachricht überprüft, um festzustellen, ob die Nachrichteneigenschaft von org.apache.log4j.spi.LoggingEvent die Schnittstelle org.eclipse.hyades.logging.core.IExternalizableToXml (zum Beispiel org.eclipse.hyades.logging.events.cbe.CommonBaseEvent) implementiert. Ist dies der Fall, wird die API externalizeCanonicalXmlString() an Stelle der XML-Serialisierung aufgerufen. Anderenfalls wird die Protokollnachricht des org.apache.log4j.spi.LoggingEvent mithilfe des org.eclipse.hyades.internal.logging.core.XmlGenerators in ein Common Base Event-Objekt konvertiert und durch Aufruf der API externalizeCanonicalXmlString() nach XML serialisiert.
Durch eine Erweiterung der abstrakten Klasse org.apache.log4j.AppenderSkeleton
im Paket org.eclipse.hyades.logging.log4j lassen sich Protokollfunktionen so konfigurieren, dass sie Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvent und
org.apache.log4j.spi.LoggingEvent an einen Protokollagenten protokollieren.
Dieser org.eclipse.hyades.logging.log4j.LoggingAgentAppender prüft auf Basis des Filters und der Protokollstufe der Protokollfunktion und des Appenders, ob Protokollnachrichten org.eclipse.hyades.logging.events.cbe.CommonBaseEvent und org.apache.log4j.spi.LoggingEvent, die in einer Protokollfunktion protokolliert werden, protokolliert werden können. Soll eine Protokollnachricht protokolliert werden, so wird ein Protokollagent mit dem gleichen Namen wie die Protokollfunktion formatiert, welche die Nachricht protokolliert. Ansonsten kann der Appender org.eclipse.hyades.logging.log4j.SingleLoggingAgentAppender verwendet werden, der einen Protokollagenten namens Logging Agent Appender erstellt. Die Nachricht wird mit einemorg.eclipse.hyades.logging.log4j.XmlLayout in XML formatiert und an den Protokollagenten geschrieben.
Beispiel zur Veranschaulichung
Es wird ein Anschauungsbeispiel bereitgestellt, das darstellt, wie sich die Unterstützung für Apache Jakarta Log4J-Protokollierung nutzen lässt. Es veranschaulicht die für neue und bestehende Benutzer des Standalone- und Plug-in-Supports für die Apache Jakarta Log4J-Protokollierung benötigte Konfiguration und Instrumentierung. Weiterführende Informationen hierzu finden Sie unter Datei > Neu > Beispiel... > Hyades-Protokollierung > Beispiel für Hyades Apache Log4J-Protokollierung.
Verwandte Konzepte
Common Base Event-Modell
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.