Traceprotokollierung von einer benutzerdefinierten C-Erweiterung

Knoten und Parser aus der Nachrichtenverarbeitung, die in der C-Programmiersprachenschnittstelle (C API) geschrieben werden, können Einträge in den Trace schreiben.

Es gibt zwei Tracetypen:
  • Service-Trace: Die Einträge beschreiben in der Regel die Vorgänge im Code und sind nur für den Eigner des Codes, wie etwa den Entwickler von benutzerdefinierten Erweiterungen, nützlich.
  • Benutzertrace: Die Einträge beschreiben in der Regel die Vorgänge auf der externen Stufe und sind für den Benutzer des Codes nützlich. Zu den Codebenutzern zählen Entwickler von Nachrichtenflüssen und Administratoren von Brokerdomänen.
Für jeden Tracetyp gibt es drei Stufen:
  • Keine
  • Normal
  • Debug
Für benutzerdefinierte Erweiterungen, die in C geschrieben sind, sind folgende Dienstprogrammfunktionen für jeden Tracetyp verfügbar:
  • 'cciServiceTrace' und 'cciUserTrace': Diese Funktionen schreiben nur dann einen Eintrag in den jeweiligen Tracetyp, wenn der Trace aktiviert ist, d. h., wenn er sich auf der Stufe 'Normal' oder 'Debug' befindet.
  • 'cciServiceDebugTrace' und 'cciUserDebugTrace': Diese Funktionen schreiben nur dann einen Eintrag in den jeweiligen Tracetyp, wenn der Trace auf der Stufe 'Debug' aktiv ist.
Die Dienstprogrammfunktion 'cciIsTraceActive' dient dazu, Funktionsaufrufe zu vermeiden, bei denen keine Traces geschrieben werden. 'cciIsTraceActive' meldet, ob der Trace aktiv ist und auf welcher Stufe.

Die 'cci*Trace'-Funktionen können von einer benutzerdefinierten Erweiterung unabhängig von den Trace-Einstellungen verwendet werden. Die Funktionen bestimmen, ob der Trace aktiv ist, und schreiben nur Einträge, die den Einstellungen entsprechen. Beim Aufruf von 'cci*Trace'-Funktionen sind möglicherweise zusätzliche Verarbeitungsschritte erforderlich. Die Funktion 'cciIsTraceActive' dient dazu, dass die benutzerdefinierte Erweiterung die Trace-Einstellungen abfragen kann und dass die zusätzlichen Verarbeitungsschritte bei inaktivem Trace vermieden werden können.

In vielen Fällen reicht es aus, den von der Funktion 'cciIsTraceActive' zurückgegebenen Wert wie einen booleschen Wert zu behandeln. Wenn der zurückgegebene Wert ungleich null ist, ist der Trace auf einer Stufe aktiv, und es kann eine der 'cci*Trace'-Funktionen aufgerufen werden. Der zurückgegebene Wert kann auch in den Fällen genau geprüft werden, in denen Einzelheiten der Trace-Einstellungen erforderlich sind.

Trace-Einstellungen können jederzeit geändert werden. Deshalb ist es ratsam, sie regelmäßig abzufragen. Verwenden Sie z. B. 'cciIsTraceActive', um die Trace-Einstellungen bei der Eingabe einer Implementierungsfunktion abzufragen.

Traceeinträge können bestimmten Objekten zugeordnet werden. Dies hat zur Folge, dass das Schreiben von Traces besser besteuert werden kann. Ein Traceeintrag kann einem Knoten oder Parser zugeordnet werden. Der Trace wird auf Grundlage der Trace-Einstellungen für das betreffende Objekt geschrieben. Die Trace-Einstellungen des Objekts werden von demNachrichtenfluss übernommen, zu dem der Knoten oder Parser gehört. Ist kein Objekt angegeben, wird der Trace der Ausführungsgruppe zugeordnet.

Zugehörige Verweise
cciUserDebugTrace
cciServiceTrace
cciServiceDebugTrace
ccilsTraceActive
Benutzertrace
Servicetrace
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as24550_