Ereignisprotokollierung von einer benutzerdefinierten Erweiterung aus verwenden

Nachrichtenverarbeitungsknoten und Parser müssen normalerweise nicht direkt in das lokale Fehlerprotokoll schreiben, da empfohlen wird, dass eine benutzerdefinierte Erweiterung Fehler mit Hilfe von Ausnahmebedingungen meldet. Zur Fehlerermittlung und für Betriebszwecke können Sie jedoch wichtige Ereignisse, Fehler usw. auf dieselbe Weise wie WebSphere Message Broker aufzeichnen.

Bei C-Code können Sie dafür die Dienstprogrammfunktion CciLog verwenden. Zwei von dieser Funktion akzeptierte Argumente, messageSource und messageNumber, definieren die Ereignisquelle und die tatsächliche Integer-Darstellung einer Nachricht in dieser Quelle.

Bei Java-Code stellt die Klasse MbService statische Methoden zur Protokollierung von Informationen im Ereignisprotokoll bereit. Zur Protokollierung von Nachrichten im Ereignisprotokoll müssen Sie Ihre Nachrichten in ein Java-Standardressourcenpaket packen. Sie können eine der drei Protokollierungsmethoden verwenden, bei denen der Ressourcenpaketname und der Nachrichtenschlüssel übergeben wird. Die Nachricht wird vollständig aufgelöst und anschließend wie folgt als einzelne Einfügung in die entsprechende Broker-Nachricht eingefügt:

Bei Windows-Systemen werden die Nachrichten in das Windows-Ereignisprotokoll geschrieben, und Ihr Nachrichtenkatalog muss als Windows-DLL übermittelt werden.

Bei Linux- und UNIX-Systemen werden diese Nachrichten in das Tool SYSLOG geschrieben, und Ihr Nachrichtenkatalog muss als XPG4-Nachrichtenkatalog übermittelt werden.

Der obige Abschnitt gilt für Ausnahmebedingungen, die bei der normalen Verarbeitung auftreten. Sie müssen jedoch auch für den Fall Sorge tragen, dass Ausnahmebedingungen beim Einsatz und bei der Konfiguration eines Nachrichtenflusses auftreten. Nachrichten, die aus diesen Konfigurationsausnahmebedingungen resultieren, werden an die Workbench zurückgemeldet, damit Sie für den Workbench-Benutzer angezeigt werden können. Um diesen Vorgang zu vereinfachen, müssen Sie eine entsprechend benannte Java-Eigenschaftendatei erstellen und in jede Workbench kopieren.

Windows-Ereignisquelle erstellen und installieren

Unter Windows wird der Nachrichtenkatalog als Windows-DLL übermittelt, die Sie wie im Folgenden beschrieben erstellen müssen. Diese enthält Definitionen Ihrer Ereignisnachrichten, damit die Ereignisanzeige ein lesbares Format anzeigen kann, basierend auf der von Ihrer Anwendung geschriebenen Ereignisnachricht. Wenn Sie einen Nachrichtenkatalog kompilieren, wird eine Headerdatei erstellt, die für jede Ereignisnachrichtennummer, die Sie erstellt haben, symbolische Werte definiert. Diese Headerdatei wird von Ihrer Anwendung eingefügt.

So erstellen Sie eine Ereignisquelle für den Windows-Ereignisprotokolldienst:
  1. Erstellen Sie eine Eingabedatei des Nachrichten-Compilers (.mc) mit der Quelle für Ihre Ereignisnachrichten. Suchen Sie auf der Microsoft-Website, http://msdn.microsoft.com, nach .mc file. Dort finden Sie weitere Informationen zum Format dieser Eingabedatei.
  2. Kompilieren Sie diese Nachrichtendatei zur Erstellung einer Eingabedatei des Ressourcen-Compilers, indem Sie folgenden Befehl ausgeben:
    mc -v -w -s -h c:\mymessages -r c:\mymessages mymsg.mc 

    Dabei gilt: c:\mymessages ist der Pfad und das Verzeichnis für die Ausgabedateien, und mymsg.mc ist der Name der Eingabedatei.

    Der Nachrichten-Compiler erzeugt eine Ausgabeheaderdatei (.h), die symbolische '#defines' enthält, die den einzelnen Nachrichtennummern zugeordnet sind, die in der MC-Eingabedatei codiert sind. Diese Headerdatei muss eingefügt werden, wenn eine benutzerdefiniert Erweiterungs-Quellendatei kompiliert wird, die die Dienstprogrammfunktion CciLog verwendet, um eine von Ihnen definierte Ereignisnachricht zu schreiben. Das Argument messageNumber für CciLog muss den entsprechenden als Hash definierten Wert in der Ausgabeheaderdatei verwenden.

  3. Kompilieren Sie die Ausgabedatei (.rc) aus dem Nachrichten-Compiler zur Erstellung einer Ressourcendatei (.res), indem Sie folgenden Befehl ausgeben:
    RC /v <Dateiname>.rc
  4. Erstellen Sie mit Hilfe der RES-Datei eine Ressourcen-DLL, indem Sie folgenden Befehl ausgeben:
    LINK /DLL /NOENTRY <Dateiname>.res
So installieren Sie die Ereignisquelle im Windows-Ereignisprotokolldienst:
  1. Starten Sie den Windows-Registrierungseditor, indem Sie folgenden Befehl ausgeben:
    regedit
  2. Erstellen Sie einen neuen Registrierungsunterschlüssel für Ihre benutzerdefinierte Erweiterung unter der vorhandenen Struktur:
    HKEY_LOCAL_MACHINE
       SYSTEM
          CurrentControlSet
             Services
                EventLog
                   Application

    Klicken Sie mit der rechten Maustaste auf Application, und wählen Sie Neu->Schlüssel aus. Der neue Schlüssel wird direkt unter dem Schlüssel 'Application' erstellt (nicht unter dem Schlüssel 'WebSphere Message Broker'). Sie müssen dem Schlüssel den Namen geben, den Sie im Parameter messageSource des Aufrufs CciLog angeben.

    Für diesen Eintrag müssen Sie folgende Werte erstellen:
    • Der Zeichenfolgewert EventMessageFile muss den vollständig qualifizierten Pfad für die DLL enthalten, die Sie erstellt haben und die Ihre Nachrichten enthalten soll. Dies ist der von CciLog verwendete Nachrichtenkatalog.
    • Der DWORD-Wert TypesSupported muss den Wert "7" enthalten.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as04520_