Ich möchte den vhost-Namen in meinem ErrorLog voranstellen und ihn dann in ein von mir geschriebenes Programm einfügen.
Ist es möglich, ein benutzerdefiniertes Fehlerprotokollformat wie beim Zugriffsprotokoll zu schreiben?
logging
httpd
apache-2.2
errors
JohnT
quelle
quelle
Antworten:
Informationen zu Rohrleitungen finden Sie in der ErrorLog- Direktive und in den offiziellen Handbucheinträgen zu Piped Logs, die dies recht gut erklären.
Das Abrufen eines benutzerdefinierten Fehlerprotokollformats ist schwieriger. Sie können das Zugriffsprotokoll problemlos anpassen
LogFormat
, es ist jedoch nichts zum Ändern des Fehlerprotokollformats integriert. Ich bin auf CGI :: Carp gestoßen , ein Perl-Modul zur Ausgabe in das Fehlerprotokoll. Schließlich wird der Apache-Quellcode immer direkt geändert, je nachdem, wie sehr Sie diese Funktion benötigen.quelle
In Apache 2.2 können Sie das Format von error_log nicht einfach ändern - siehe http://httpd.apache.org/docs/2.2/logs.html#errorlog .
Apache 2.4 fügt diese Unterstützung hinzu. Siehe http://httpd.apache.org/docs/2.4/logs.html#errorlog .
quelle
Mit Apache 2.4 können Sie die
ErrorLogFormat
Direktive verwenden.Syntax:
ErrorLogFormat [connection|request] format
Einfaches Beispiel
Beispiel (Standardformat für MPMs mit Thread)
Beispiel (ähnlich dem 2.2.x-Format)
Erweitertes Beispiel mit Anforderungs- / Verbindungsprotokoll-IDs
Quelle: ErrorLogFormat-Direktive
quelle
%a
leer auftauchen würde? Es soll die Client-IP-Adresse sein. Ich habe eine Frage dazu gestellt .Sie suchen wahrscheinlich nach mod_log_debug .
quelle