Zum Inhalt springen

Apache/11 Logging/Benutzerdefiniert: Unterschied zwischen den Versionen

Aus Foxwiki
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, ''Grundkonfiguration«, im Zusammenhang mit den Direktiven <If>, <ElseIf> und <Else> beschrieben wurde. Das LogLevel der Meldungen ist info
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
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 erweitern«, beschrieben. Wenn Sie keinen Hook angeben, wird log_transaction verwendet
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>