RSS

Schlagwort-Archive: java

SAP NW AS Java 7.3: Logging/Tracing konfigurieren und programmieren

SAP NW AS Java 7.3: Logging/Tracing konfigurieren und programmieren

Motivation

Java Applikationsserver bieten üblicherweise eine Vielzahl von Log- und Trace-Files an, anhand derer man sich über den Zustand des Servers und der Anwendungen, die auf ihm laufen, informieren kann. Wenn man eigene Applikationen für einen Applikationsserver entwickelt, sollte man diese ebenfalls mit Logging- und Tracing-Ausgaben ausstatten, um eine spätere Fehlersuche zu erleichtern. Was die SAP unter Logging und Tracing versteht, kann man auf dem Link „The Difference Between Logging and Tracing“ nachlesen. In einem aktuellen Projekt entwickle ich gerade einen WebService, der auf einem SAP Netweaver Application Server Java (SAP NW AS Java)  laufen soll. Der SAP NW AS Java ist in der aktuellen Version 7.3 installiert.

Anwendungsentwicklung

Eine Anwendung um Logging- und Tracing-Fähigkeiten zu erweitern, ist eigentlich relativ einfach. Man definiert für die Web-Anwendung an sich eine sog. Category und für die verwendeten Klassen sog. Locations (weiterführene Infos: Logging Overview). Das sieht dann etwa so aus: Man kann Ausgaben in verschiedene „Klassen“, besser gesagt „Severities“ einteilen. Z.B. Informationen, Warnungen, Fehler, Debug-Ausgaben etc. Je nachdem, wie man den Applikationsserver konfiguriert, werden die entsprechenden Meldungen ausgegeben. Für den SAP NW AS Java gibt es das Netweaver Developer Studio (NWDS), ein von der SAP angepasste Eclipse IDE. Für jeden Applikationsserver sollte man die passende NWDS Version verwenden, dann stimmen auch die Libraries mit denen des Servers überein. Beispiel:

package jkhofmann.dlinkddns.com

...
import com.sap.tc.logging.*;
...

public class TestKlasse {
	private static final Location loc = Location.getLocation("jkhofmann.dlinkddns.com.TestKlasse");
	private static final Category cat = Category.getCategory(Category.APPLICATIONS, "MeineApp");
	...

	public String testMethode(Parameter par) {
		String method="testMethode";
		loc.entering(method);
		...
		// Ausgaben:
		loc.infoT("Methode wurde mit folgenden Paramtern aufgerufen: " + par);
		loc.debugT(method, "Debugausgabe");
		...
		loc.exiting();
	}
	...
}

Nach dem Deployment ist die Anwendung bereit zur Konfiguration

Konfiguration

Damit alles schön ausgegeben wird, muss man den Applikationsserver noch entsprechend konfigurieren. Nach dem Einloggen als J2EE Admin, den Netweaver Administrator (NWA) starten und den Reiter „Fehleranalyse“ und den Unterpunkt „Protokolle und Traces“ auswählen: Hier sind zwei Punkte interessant: „Protokollkonfiguration“ und „Log Viewer“. Für die Konfiguration muss man den Link „Protokollkonfiguration“ öffnen. Die Logging-Einstellung ist  unter „Anzeigen“ durch Auswahl von „Logging-Kategorien“ zu sehen: In dieser Einstellungen sind die „Categories“ (s.o.) zu finden. Im Beispiel haben wir „CATEGORY.APPLICATIONS“ angegeben, d.h. die Einstellungen für unsere Applikation sind unter „ROOT CATEGORY/Applications/MeineApp“ zu finden. Hier wählt man die gewünschte Gewichtung aus und speichert die Einstellungen mit „Konfiguration sichern“. Zur Einstellung für das Tracing bzw. die Locations (s.o.) wählt man unter „Anzeigen“ den Punkt „Trace Locations“ aus: Die entsprechenden Einstellungen sind unterzu finden. Wir haben im Beispiel nur eine Klasse instantiiert und finden diese unter

jkhofmann.dlinkddns.com.TestKlasse

Auch hier werden die Einstellungen mit „Konfiguration sichern“ gespeichert. Nach der Konfiguration kann man sich die Logging- und Tracing-Ausgaben mit dem „Log Viewer“ anschauen und nutzen.

Nutzung

Wie bereits eingangs erwähnt, dienen diese Ausgaben dazu, verschiedene Anwendungsfälle abzudecken:

  • Administratoren über den aktuellen „Zustand“ des Servers zu informieren
  • dem Betrieb eine Möglichkeit zu geben, die Fehlersuche zu vereinfachen
  • durch schnelles Umkonfigurieren den Detaillierungsgrad der Ausgabe zu erhöhen
  • Protokollierung verschiedenster Informationen
Hierfür ist der „Log Viewer“ zuständig. Wählen Sie hierzu unter „Sicht“ > „Open View…“ die „Developer Traces“ aus:
Beispielausgaben:

 

Fazit

Ich finde diese Funktionalität ist ein Muss für alle Applikationen, die auf einem Applikationsserver laufen. Wie oben beschrieben, ist es relativ einfach möglich, Logging- und Tracing auf einem SAP NW AS Java für eigene Anwendungen zu nutzen.

Links

 

Schlagwörter: , , , , , , ,

 
Erstelle eine Website wie diese mit WordPress.com
Jetzt starten