Ich denke, was Sie für die forensische Protokollierung benötigen, finden Sie unter folgendem Link: http://httpd.apache.org/docs/current/mod/mod_log_forensic.html
Ausschnitt:
Forensisches Protokollformat:
Jede Anfrage wird zweimal protokolliert. Das erste Mal ist, bevor es weiter verarbeitet wird (dh nach dem Empfang der Header). Der zweite Protokolleintrag wird nach der Anforderungsverarbeitung gleichzeitig mit der normalen Protokollierung geschrieben.
Um jede Anforderung zu identifizieren, wird eine eindeutige Anforderungs-ID zugewiesen. Diese forensische ID kann im normalen Übertragungsprotokoll mit der Zeichenfolge% {forensic-id} n formatiert werden. Wenn Sie mod_unique_id verwenden, wird die generierte ID verwendet.
In der ersten Zeile werden die forensische ID, die Anforderungszeile und alle empfangenen Header protokolliert, getrennt durch Pipe-Zeichen (|). Eine Beispielzeile sieht wie folgt aus (alle in einer Zeile):
+ yQtJf8CoAB4AAFNXBIEAAAAA | GET /manual/de/images/down.gif HTTP / 1.1 | Host: localhost% 3a8080 | Benutzeragent: Mozilla / 5.0 (X11; U; Linux i686; en-US; rv% 3a1.6) Gecko / 20040216 Firefox / 0.8 | Akzeptieren: image / png, etc ...
Das Pluszeichen am Anfang zeigt an, dass dies die erste Protokollzeile dieser Anforderung ist. Die zweite Zeile enthält nur ein Minuszeichen und die ID erneut:
-yQtJf8CoAB4AAFNXBIEAAAAA
Das Skript check_forensic verwendet als Argument den Namen der Protokolldatei. Es sucht nach diesen +/- ID-Paaren und beschwert sich, wenn eine Anfrage nicht abgeschlossen wurde.