Sicherheitswarnung: Bitte keine Version älter als 1.11 verwenden!

Die Protokollfunktion von gzip_cnc

Ausgabe von Meldungen

Für jede von ihm bearbeitete Seitenanforderung schreibt gzip_cnc einen Eintrag in seiner eigenen Protokolldatei, falls einer solche bei seiner Konfiguration definiert wurde.

Am Ende der Verarbeitung einer jeden Anforderung

Das Programm unternimmt keine Anstrengungen, zwischen mehreren simultanen Schreibzugriffen zu synchronisieren.

Aufbau der Protokolldatei

Jeder Eintrag in diese Protokolldatei besteht aus Feldern in folgendem Format:

$date $status: $sizein -> $sizeout ($rate%) $cputime sec $url

wobei die einzelnen Felder folgende Bedeutungen haben:

Feldname Format Bedeutung
$date YYYY-MM-DD_hh:mm:ss Datum und Uhrzeit der Erzeugung dieses Protokolleintrags
$status Zeichenkette Status-Code der Verarbeitung dieser Anforderung
$sizein ganze Zahl oder "-" Größe der Original-Datei (unkomprimiert) in Bytes
$sizeout ganze Zahl oder "-" Größe der Cache-Datei (komprimiert) in Bytes
$rate Gleitpunktzahl Komprimierungsrate des Seiteninhalts in Prozent
(oder 0, falls die Cache-Datei nicht ausgeliefert wurde)
$cputime Gleitpunktzahl bei der Verarbeitung verbrauchte CPU-Zeit in Sekunden
$url Zeichenkette angeforderter URL des Dokuments

Auswertung der Protokolldatei

gzip_cnc liefert sein eigenes Auswertungsprogramm gzip_cnc_log_eval für dieses Protokoll-Format mit. Dieses Programm ist - genau wie gzip_cnc selbst - in Perl geschrieben.

Sein Aufruf erfolgt allerdings nicht als CGI-Skript (wegen einer möglicherweise recht langen Programmlaufzeit bei der Auswertung sehr großer Protokolldateien), sondern über die Kommandozeile:

perl gzip_cnc_log_eval $filein $fileout

Die beiden (optionalen) Parameterwerte beschreiben die Pfadnamen

Wurde nur ein Parameterwert angegeben, dann wird dieser Wert für den Namen der Eingabedatei verwendet. Für fehlende Parameterwerte gelten die im Programmcode voreingestellten Defaultwerte; somit kann das Programm also im selben Verzeichnis wie die gzip_cnc-Protokolldatei abgelegt und dann ganz ohne Parameterwerte aufgerufen werden.

Genau wie bei gzip_cnc selbst kann das Verhalten von gzip_cnc_log_eval durch die Angabe entsprechender Werte am Anfang des Programm-Quelltextes beeinflußt werden. Dabei sind folgende Eigenschaften einstellbar:

Details hierzu sind im Quelltext von gzip_cnc_log_eval ausführlich erläutert.

(Michael Schröpl, 2002-08-04)