Knoten und Parser aus der Nachrichtenverarbeitung, die in der C-Programmiersprachenschnittstelle (C API) geschrieben werden, können Einträge in den Trace schreiben.
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.