icm/HTTP/logging_<xx>
Mit diesem Parameter steuern Sie das
HTTP-Logging im ICM (oder Web Dispatcher), wenn der ICM als Server fungiert.
Wenn der ICM in der Clientrolle ist, verwenden Sie zum Logging der
HTTP-Requests den Parameter
icm/HTTP/logging_client_<xx>.
Allgemeine Informationen zum Logging finden Sie unter Logging im ICM.
Arbeitsgebiet |
Internet Communication Manager, SAP Web Dispatcher |
Einheit |
Zeichenkette |
Standardwert |
- |
Dynamisch änderbar |
nein |
Dieser Parameter hat folgende Syntax:

icm/HTTP/logging_<xx> = PREFIX=<URL-Präfix>, LOGFILE=<Name der Log-Datei> [, LOGFORMAT=<Format der Einträge>, FILTER=SAPSMD, MAXSIZEKB=<max. Größe der Log-Datei in KBytes>, SWITCHTF=<Optionen für neue Trace-Datei>, FILEWRAP=on]
Hierbei haben die einzelnen Angaben folgende Bedeutung.
URL-Präfix, für den dieser
HTTP-Subhandler aufgerufen werden soll (z.B. "/"). (Siehe auch
Bearbeitung von
HTTP-Requests.)
Name der Ausgabedatei im Dateisystem.
Bei jedem Neustart prüft der ICM, ob die als Log-Datei spezifizierte Datei existiert. Wenn ja, schreibt er in der Datei weiter, wenn nein, legt er sie neu an.
Sie können an den eigentlichen Dateinamen noch einen Zeitstempel anhängen. Hierfür stehen folgende Optionen bei der Angabe der Log-Datei zur Verfügung:
%d |
Tag im Monat (1-31) |
%m |
Monat im Jahr (1-12) |
%y |
4-stelliges Jahr im Format YYYY |
%h |
Stunde (0-23) |
%t |
Minute (0-59) |
%s |
Sekunde (0-59) |
%% |
'%'-Zeichen |

Wenn Sie beim den Dateinamen mit Datum und Uhrzeit versehen wollen, können Sie die Option des Parameters icm/HTTP/logging_<xx> wie folgt setzen: LOGFILE=access_log-%d-%m-%y_%h:%t:%s
Dies ergibt dann eine Log-Datei mit dem Namen: access_log-15-10-2005_16:51:53.
Wenn Sie möchten, dass eine Log-Datei pro Monat geschrieben wird, setzen Sie den Namen so: LOGFILE=access_log-%y-%m. Dies ergibt dann eine Log-Datei mit dem Namen: access_log-2005-10.
Es gibt folgende vordefinierte Formate für Log-Dateien:
· CLF
Common Logfile Format mit der Form:
10.18.104.36 - - [15/Oct/2005:16:18:35+0100] "GET /dummy?para=100&user=sap HTTP/1.0" 200 86
● CLFMOD
Modifiziertes Common Logfile Format: Es werden die Formfelder und URI-Parameter nicht mit in die Trace-Datei geschrieben (aus Sicherheitsgründen sollten diese Werte nicht in der Log-Datei gespeichert werden). Beispiel von oben:
10.18.104.36 - - [15/Oct/2005:16:18:35 +0100] "GET /dummy HTTP/1.0" 200 86
SAP Logfile Format, bei dem zusätzlich noch die Bearbeitungsdauer im Applikationsserver in Millisekunden mit ausgegeben wird:
[15/Oct/2005:15:41:35 +0100] 10.18.104.36 - - "GET /dummy HTTP/1.0" 200 86 10
● SAPSMD
Logformat für das Tracking von HTTP Requests anhand des HTTP Headerfeldes X-CorrelationID:
[15/Oct/2005:15:41:35 +0100] - "GET /dummy HTTP/1.0" 200 86 [10] h[A7594F39ED9F7C41BABA7397F8070718-1-5] |
Soll ein anderes Format geschrieben werden, können Sie dies durch den Formatstring konfigurieren.
Hierbei können Sie folgende Platzhalter verwenden.
Eigenschaften von Request und Response |
||
%b |
Länge der Response in Bytes |
|
%r0 oder %r |
1. Zeile eines HTTP-Requests mit Originalpfad und Formfeldern: z.B. GET /sap(bD1kZSZjPTAwMA==)/bc/ping?lang=de HTTP/1.0 |
|
%r1 |
1. Zeile eines HTTP-Requests mit Originalpfad ohne Formfelder: z.B. GET /sap(bD1kZSZjPTAwMA==)/bc/ping HTTP/1.0 |
|
%r2 |
1. Zeile eines HTTP-Requests mit URL-dekodiertem Pfad ohne Formfelder: z.B. GET /sap/bc/ping HTTP/1.0 |
|
%f |
Name des angefragten Objektes ohne Formfelder |
|
%U |
gesamte URI eines Requests (mit Formfeldern) |
|
%s |
OK-Code der Response |
|
%p0 |
gesamte Original-URI eines Requests (mit Formfeldern), äquivalent zu %U |
|
%p1 |
gesamte Original-URI eines Requests (ohne Formfelder) |
|
%p2 |
URL-dekodierter Pfad ohne Formfelder, äquivalent zu %f |
|
%p3 |
URL-dekodierter Pfad mit Formfeldern |
|
%{name}i |
Name eines Request-Headerfeldes z.B. %{user-agent}i |
|
%{name}o |
Name eines Response-Headerfeldes, z.B. %{server}o |
|
%{cookie}c |
Ausgabe eines Requests-Cookies |
|
%{cookie}C |
Ausgabe eines Response-Cookies |
|
%{Formfeldname}F |
Name eines Request-Formfeldes z.B. %{sap-client}F |
|
%T |
Dauer einer Anfrage in Sekunden |
|
%L |
Dauer einer Anfrage in Millisekunden |
|
%j |
Protokoll: HTTP oder HTTPS |
|
Rechner und Ports |
||
%h |
Name des entfernten Rechners (des Clients, z. B. Browser) |
|
%h0 |
wie %h |
|
%h1 |
Wenn das Headerfeld x-forwarded-for gesetzt ist, der Wert des Headerfeldes, sonst der Name des direkten Rechners vor dem ICM (bzw. Web Dispatchers), also des Clients, z. B. Browser. |
|
%H |
Name des lokalen Rechners |
|
%V |
Vollqualifizierter Rechnername (FQHN) des Servers (Wert des Parameters icm/host_name_full bzw. FQHN vom Betriebssystem). |
|
%v |
Name des virtuellen Rechners (IP-Adresse oder Name des Servers, mit dem sich der Client verbunden hat) |
|
%a |
IP-Adresse des entfernten Rechners |
|
%S |
lokaler Portname/Service |
|
Sonstiges |
||
%l |
Angabe des sog. Remote Logname. Dieser Name ist das Ergebnis einer IDENT-Anfrage an den Client. Dies funktioniert nur, wenn dort der IdentityCheck aktiviert ist. |
|
%u |
Benutzername einer 401-Authentication
Wenn Single Sign-On aktiv ist, sehen Sie hier nur ein -. Weitere Informationen:
|
|
%t |
Zeitangabe im CLF-Format: [15/Dec/2000:16:18:35 +0100] |
|

Das CLF-Format wird durch den folgenden String erzeugt: %h %l %u %t "%r" %s %b.
Das CLFMOD-Format wird durch den folgenden String erzeugt: %h %l %u %t "%r2" %s %b.
Das SAP-Format wird durch den folgenden String erzeugt: %t %h %u - \"%r2\" %s %b %L.
Das SAPSMD-Format wird durch den folgenden String erzeugt:
%t - "%r0" %s %b [%L] h[%{X-CorrelationID}i] | .

Die Nutzung von vordefinierten Logfile-Formaten ist deutlich performanter als die Nutzung von eigen definierten Formatstrings, da hier jedes Element des Formatstrings einzeln bestimmt und ausgegeben werden muss.
Filter bewirken, dass ein HTTP-Request nur dann protokolliert| wird, wenn ein bestimmtes Headerfeld im Request vorhanden ist. Wenn Sie FILTER=SAPSMD setzen, wird ein HTTP-Request nur dann protokolliert, wenn er das HTTP-Headerfeld X-CorrelationId enthält.
MAXSIZEKB ist die maximale Größe der Logdatei in Kilobyte.
Wird diese Größe überschritten, wird die aktuelle Datei geschlossen und eine neue (mit anderem Namen) geöffnet.
Der neue Dateiname ist (durch die Angabe von Zeit/Datumsfeldern, s.o.) eindeutig oder er wird durch Anhängen von "_xx" eindeutig gemacht (wobei xx eine von 0 aufsteigende Zahlenfolge ist)

Wurde FILEWRAP=on gewählt, wird keine neue Datei geöffnet, s.u.
Eine neue Logdatei kann nicht nur erzeugt werden, wenn eine bestimmte Größe erreicht ist, sondern auch bei zeitlichen Änderungen:
Hour |
in jeder neuen Stunde soll eine neue Logdatei geöffnet werden |
Day |
an jedem neuen Tag soll eine neue Logdatei geöffnet werden |
Month |
in jedem neuen Monat soll eine neue Logdatei geöffnet werden |
Wird FILEWRAP=on gewählt, so wird immer, wenn eine neue Datei angefangen würde (aufgrund Überschreitung der Zeit- oder Größengrenze), die bestehende Logdatei zurückgesetzt und neu geschrieben. Es gibt also immer nur eine Logdatei mit den aktuellen Logging-Daten.
Wenn Sie die Option weglassen, wird nach Überschreitung der Größe eine neue Datei geschrieben (s.o.).
Sie können on oder ON verwenden, nicht aber Klein- und Großbuchstaben gemischt.

PREFIX=/, LOGFILE=dev_http_access_log, SWITCHTF=day, FILEWRAP=on
Beachten Sie im Zusammenhang mit diesem Parameter folgende Dokumentation:
Generische Profilparameter mit der Endung _<xx>