Verwenden Sie den JRas-Betrieb im kombinierten Modus, um Tracedaten und Protokollierungsnachrichten
in den Protokollen von WebSphere Application Server und in benutzerdefinierten Protokollen auszugeben.
Vorbereitende Schritte
Das JRas-Framework, das in dieser Task und den untergeordneten
Tasks beschrieben wird, wird nicht weiter unterstützt. Sie können jedoch ähnliche Ergebnisse mit der
Java™-Protokollierung erzielen.
Informationen zu diesem Vorgang
Im kombinierten Modus werden Nachrichten und Trace in WebSphere Application Server-Protokollen und in benutzerdefinierten
Protokollen erfasst. Im folgenden Beispiel wird Folgendes vorausgesetzt:
- Sie haben einen benutzerdefinierten Handler mit dem Namen SimpleFileHandler und einen benutzerdefinierten Formatter mit dem Namen
SimpleFormatter geschrieben.
- Sie verwenden keine benutzerdefinierten Typen oder Ereignisse.
Vorgehensweise
- Importieren Sie die vorausgesetzten JRas-Erweiterungsklassen:
import com.ibm.ras.*;
import com.ibm.websphere.ras.*;
- Importieren Sie den benutzerdefinierten Handler und den Formatter:
import com.ibm.ws.ras.test.user.*;
- Deklarieren Sie die Protokollfunktionsreferenzen:
private RASMessageLogger msgLogger = null;
private RASTraceLogger trcLogger = null;
- Fordern Sie eine Referenz auf die Managerklasse an, erstellen Sie die
Protokollfunktionen (Logger), und fügen Sie die benutzerdefinierten Handler hinzu. Da Protokollfunktionen
benannte Singletons sind, können Sie an verschiedenen Stellen eine Referenz auf die Protokollfunktionen anfordern. Ein logischer Kandidat für
Enterprise-Beans ist die Methode ejbCreate. Achten Sie jedoch darauf, dass nicht versehentlich mehrere
Instanzen eines benutzerdefinierten Handlers in dieselbe
Protokollfunktion eingefügt werden.
Ihr Initialisierungscode muss diese Methode unterstützen. Nachfolgend sehen Sie ein Beispiel für eine
Nachrichtenprotokollfunktion. Die Prozedur für eine Traceprotokollfunktion sieht ähnlich aus.
com.ibm.websphere.ras.Manager mgr = com.ibm.websphere.ras.Manager.getManager();
msgLogger = mgr.createRASMessageLogger("Acme", "WidgetCounter", "RasTest",
myTestBean.class.getName());
// Konfigurieren Sie die Nachrichtenprotokollfunktion für die Verwendung der im Beispiel
// ResourceBundle definierten Nachrichtendatei
msgLogger.setMessageFile("acme.widgets.DefaultMessages");
//Benutzer-Handler und -Formatter erstellen. Formatter konfigurieren
//und zum Handler hinzufügen.
RASIHandler handler = new SimpleFileHandler("meinHandler", "Dateiname");
RASIFormatter formatter = new SimpleFormatter("simple formatter");
formatter.addEventClass("com.ibm.ras.RASMessageEvent");
handler.addFormatter(formatter);
//Hinzufügen des Handler zur Protokollfunktion. Fügen Sie die Protokollfunktion zur Liste der
//Listener für den Handler hinzu. Definieren Sie dann die Handler-Maske,
//was die Aktualisierung der zusammengesetzten Protokollfunktionsmaske nach sich zieht.
// ACHTUNG - Es gibt eine Abhängigkeit von der Reihenfolge, die deshalb eingehalten werden muss.
msgLogger.addHandler(handler);
handler.addMaskChangeListener(msgLogger);
handler.setMessageMask(RASIMessageEvent.DEFAULT_MESSAGE_MASK);