Apache/11 Logging/Benutzerdefiniert: Unterschied zwischen den Versionen
K Textersetzung - „»“ durch „''“ |
K Textersetzung - „–“ durch „-“ |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 11: | Zeile 11: | ||
Standardwert nicht gesetzt | Standardwert nicht gesetzt | ||
Wenn diese Direktive interpretiert wird, schreibt Apache einen frei definierbaren Meldungstext in die ErrorLog-Datei. Der Meldungstext selbst kann Ausdrücke in der ap_expr-Syntax enthalten, die in Kapitel 6, '' | Wenn diese Direktive interpretiert wird, schreibt Apache einen frei definierbaren Meldungstext in die ErrorLog-Datei. Der Meldungstext selbst kann Ausdrücke in der ap_expr-Syntax enthalten, die in Kapitel 6, ''Grundkonfiguration'', im Zusammenhang mit den Direktiven <If>, <ElseIf> und <Else> beschrieben wurde. Das LogLevel der Meldungen ist info | ||
Optional können Sie mit hook=Hook einen der folgenden Hooks angeben; dies bestimmt, in welcher Phase der Anfrage-Verarbeitung die Meldung geschrieben wird | Optional können Sie mit hook=Hook einen der folgenden Hooks angeben; dies bestimmt, in welcher Phase der Anfrage-Verarbeitung die Meldung geschrieben wird - und damit indirekt, welche Variablen und Ausdrücke zu diesem Zeitpunkt überhaupt verfügbar sind | ||
* translate_name | * translate_name | ||
* type_checker | * type_checker | ||
| Zeile 27: | Zeile 27: | ||
* log_transaction | * log_transaction | ||
Die Bedeutung der einzelnen Hooks wird in Kapitel 17, ''Apache | Die Bedeutung der einzelnen Hooks wird in Kapitel 17, ''Apache erweitern'', beschrieben. Wenn Sie keinen Hook angeben, wird log_transaction verwendet | ||
Wenn Sie ein Argument vom Typ if=Ausdruck hinzufügen, wird die Meldung nur protokolliert, falls der Ausdruck zutrifft. Die Syntax dieses Ausdrucks entspricht ebenfalls ap_expr | Wenn Sie ein Argument vom Typ if=Ausdruck hinzufügen, wird die Meldung nur protokolliert, falls der Ausdruck zutrifft. Die Syntax dieses Ausdrucks entspricht ebenfalls ap_expr | ||
| Zeile 40: | Zeile 40: | ||
hook=type_checker if=%{IS_SUBREQ} | hook=type_checker if=%{IS_SUBREQ} | ||
</Location> | </Location> | ||
[[Kategorie:Apache/HTTP/Logging]] | |||
Aktuelle Version vom 11. Mai 2025, 20:47 Uhr
Beschreibung
- Benutzerdefinierte Debug-Log-Meldungen
In Apache 2.3.14-beta wurde das Modul mod_log_debug hinzugefügt. Es ermöglicht die gezielte Ausgabe benutzerdefinierter Meldungen ins ErrorLog, optional unter einer bestimmten Bedingung. Damit lässt sich beispielsweise prüfen, ob und wann bestimmte Zweige der Konfiguration überhaupt gelesen werden oder ob bestimmte Bedingungen jemals eintreffen. Das Modul stellt nur eine Direktive bereit: LogMessage
LogMessage
Eine Debug-Log-Meldung ins ErrorLog schreiben
Seit Version 2.3.14 Modul mod_log_debug Kontext <Directory> Syntax LogMessage Meldung [hook=Hook] [if=Ausdruck] Standardwert nicht gesetzt
Wenn diese Direktive interpretiert wird, schreibt Apache einen frei definierbaren Meldungstext in die ErrorLog-Datei. Der Meldungstext selbst kann Ausdrücke in der ap_expr-Syntax enthalten, die in Kapitel 6, Grundkonfiguration, im Zusammenhang mit den Direktiven <If>, <ElseIf> und <Else> beschrieben wurde. Das LogLevel der Meldungen ist info
Optional können Sie mit hook=Hook einen der folgenden Hooks angeben; dies bestimmt, in welcher Phase der Anfrage-Verarbeitung die Meldung geschrieben wird - und damit indirekt, welche Variablen und Ausdrücke zu diesem Zeitpunkt überhaupt verfügbar sind
- translate_name
- type_checker
- quick_handler
- map_to_storage
- check_access
- check_access_ex
- insert_filter
- check_authn
- check_authz
- fixups
- handler
- log_transaction
Die Bedeutung der einzelnen Hooks wird in Kapitel 17, Apache erweitern, beschrieben. Wenn Sie keinen Hook angeben, wird log_transaction verwendet
Wenn Sie ein Argument vom Typ if=Ausdruck hinzufügen, wird die Meldung nur protokolliert, falls der Ausdruck zutrifft. Die Syntax dieses Ausdrucks entspricht ebenfalls ap_expr
Das folgende Beispiel gibt immer dann eine Log-Meldung aus, wenn der URLPfad /check/ angefordert wird
<Location /check/> LogMessage "URL-Pfad /check/ angefordert." </Location>
Hier ein weiteres Beispiel, das nur für Unterabfragen auf /check/ ausgeführt wird (hier muss explizit ein Hook angegeben werden, da log_transaction bei Unterabfragen nicht ausgeführt wird)
<Location /check/>
LogMessage "URL-Pfad /check/ in Unterabfrage angefordert." \
hook=type_checker if=%{IS_SUBREQ}
</Location>