Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation icm/HTTP/logging_<xx>  Dokument im Navigationsbaum lokalisieren

Verwendung

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>.

Integration

Allgemeine Informationen zum Logging finden Sie unter Logging im ICM.

Eigenschaften

Arbeitsgebiet

Internet Communication Manager, SAP Web Dispatcher

Einheit

Zeichenkette

Standardwert

-

Dynamisch änderbar

nein

Wertebereich und Syntax

Dieser Parameter hat folgende Syntax:

Syntaxdokumentation

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.

PREFIX

URL-Präfix, für den dieser HTTP-Subhandler aufgerufen werden soll (z.B. "/"). (Siehe auch Bearbeitung von HTTP-Requests.)

LOGFILE

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

 

Beispiel

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.

LOGFORMAT

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

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

Achtung

Wenn Single Sign-On aktiv ist, sehen Sie hier nur ein -.

Weitere Informationen: User Authentication and Single Sign-On.

%t

Zeitangabe im CLF-Format: [15/Dec/2000:16:18:35 +0100]

Beispiel

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] |  .

Hinweis

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

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

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)

Hinweis

Wurde FILEWRAP=on gewählt, wird keine neue Datei geöffnet, s.u.

SWITCHTF

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

FILEWRAP

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.).

Achtung 

Sie können on oder ON verwenden, nicht aber Klein- und Großbuchstaben gemischt.

Beispiel

PREFIX=/, LOGFILE=dev_http_access_log, SWITCHTF=day, FILEWRAP=on

 

Weitere Informationen

Beachten Sie im Zusammenhang mit diesem Parameter folgende Dokumentation:

Generische Profilparameter mit der Endung _<xx>

icm/HTTP/logging_client_<xx>

Logging im ICM

HTTP-Logging

 

Ende des Inhaltsbereichs