Die Protokoll- und Traceanalyse bietet Standalone- und Plug-in-Unterstützung für die folgenden Protokolldienstprogramme:
Diese Unterstützung umfasst Folgendes:
Diese Unterstützung wird durch folgende Plug-ins realisiert:
Protokolldienstprogramm |
Plug-in-JARs |
---|---|
Java Logging (JSR-047) |
org.eclipse.hyades.logging.core\hl14.jar |
Apache Jakarta Commons-Protokollierung |
org.eclipse.hyades.logging.core\hlcommons.jar |
Apache Jakarta Log4J-Protokollierung |
org.eclipse.hyades.logging.core\hllog4j.jar |
EMF Common Base Event V1.0.1 |
org.eclipse.hyades.logging.core\hlcbe101.jar |
In den folgenden Abschnitten werden die Details der einzelnen Unterstützungstypen der Protokolldienstprogramme erläutert. Außerdem finden Sie Verweise auf Beispiele, die die jeweilige Unterstützung veranschaulichen.
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 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 verarbeiten können.
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. Soll eine Protokollnachricht protokolliert werden, so 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 JSR-047 Java-Protokollierung nutzen lässt. Es veranschaulicht die für neue und bestehende Benutzer der Standalone- und Plug-in-Unterstützung für die JSR-047 Java-Protokollierung benötigte Konfiguration und Instrumentierung. Wenn Sie weitere Informationen wünschen, öffnen Sie Datei > Neu > Beispiel... > Beispiel für Protokollierung für JSR-047.
Ü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 der Methoden org.eclipse.hyades.logging.events.cbe.util.EventHelpers.convertObjectToCommonBaseEvent() in ein Common Base Event-Objekt konvertiert und durch Aufruf der API externalizeCanonicalXmlString() 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 der Standalone- und Plug-in-Unterstützung für die Apache Jakarta Commons-Protokollierung benötigte Konfiguration und Instrumentierung. Weitere Informationen finden Sie unter Datei > Neu > Beispiel... > Beispiel für Protokollierung für Apache Commons.
Ü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. Ansonsten wird die Protokollnachricht org.apache.log4j.spi.LoggingEvent mithilfe der Methoden org.eclipse.hyades.logging.events.cbe.util.EventHelpers.convertObjectToCommonBaseEvent() 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 der Standalone- und Plug-in-Unterstützung für die Apache Jakarta Log4J-Protokollierung benötigte Konfiguration und Instrumentierung. Weitere Informationen finden Sie unter Datei > Neu > Beispiel... > Beispiel für Protokollierung für Apache Log4J.
Beispiel zur Veranschaulichung
Es wird ein Anschauungsbeispiel bereitgestellt, das verdeutlicht, wie sich die Unterstützung für EMF Common Base Events nutzen lässt, indem Common Base Events mit der CBE-XML-Dateischablone Ereignisfactory erstellt und konfiguriert werden. Weitere Informationen finden Sie unter Datei > Neu > Beispiel... > Beispiel für EMF Common Base Event v1.0.1.
Zugehörige Konzepte
Common Base Event-Modell
(C) Copyright IBM Corporation 2000, 2006. Alle Rechte vorbehalten.