valid xhtml 1.0 strict
bookmark this site at del.icio.us bookmark this site at mister-wong.de bookmark this site at furl.net bookmark this site at ho.tli.st bookmark this site at blogmarks.net bookmark this site at stumbleupon.com bookmark this site at scuttle.org
 

zuletzt geändert : 01/24/10

Log Files

download.log

access.log

application.log


download.log

Die download.log hat folgende Struktur:

Dateiname1[tab]Zählwert[tab]Zeitwert
Dateiname2[tab]Zählwert[tab]Zeitwert
...

Die Werte sind durch einen Tabulator getrennt, da dieser eines der wenigen Zeichen ist, die (über die verschiedenen Betriebssysteme hinweg) nicht in Dateinamen erlaubt ist.

Ein Dateiname (ohne Pfad) wird mit dem ersten gezählten Download an die Liste angefügt, der Zählwert startet mit 1. Dabei wird die Datei allein durch ihren Dateinamen, bei Unterscheidung nach Groß- und Kleinschreibung, identifiziert; es wird keine CRC oder MD5 Prüfung der Datei durchgeführt.

Der Zeitwert ist das komplette Datum des ersten Downloads repräsentiert durch die (Ganz-)Zahl von Sekunden seit dem UNIX-Urknall (das ist der 1. Januar 1904, 00:00:00 Uhr für MacOS, und der 1. Januar 1970, 00:00:00 UTC, für die meisten anderen Systeme).

top
access.log

Die efileman Logdatei und deren Konfiguration orientiert sich u.a. an der des Apache Webservers, allerdings werden nur die folgenden Parameter unterstützt:

%hRemote IP-Addresse
%aRemote IP-Addresse
%fDateiname oder Pfad
%uAnwendername
%tDatum und Zeit
%rVergleichbar mit der ersten Zeile eines Requests (siehe weiter unten)
%>sDas wäre der Statuscode, den ein Webserver entsprechend RFC2616 section 10 an den Browser sendet. efileman 7.1 schreibt an dieser Stelle generell eine 0.
%bBytes gesendet, ohne HTTP Header.
%BBytes gesendet, ohne HTTP Header. Im CLF Format z.B. ein '-' eher als eine 0, wenn nichts gesendet wurde.
%{Referer}iDie Seite die vom Browser als Referrer (linkende Seite, von der aus die aktuelle Seite aufgerufen wurde) übermittelt wurde.
%{User-agent}iDie Indentifikationsdaten, die der Browser über sich selbst übermittelt.

Die Formatanweisung kann auch spezielle Zeichen wie "\n" für einen Zeilenumbruch oder "\t" für den Tabulator enthalten. Alle Zeitangaben basieren auf der Systemzeit des Servers (unabhängig vom Zeitverschiebungs-Parameter des efileman) um Kompatibilität und damit Vergleichbarkeit mit parallel aufgezeichneten Logdateien zu gewährleisten. Einige der obene aufgelisteten Parameter sind an den efileman angepasst oder werden nur aus Gründen der Kompatibiltät zu vorhandenen Formatangaben unterstützt. Der "Bindestrich" in der Logdatei zeigt an, dass die entsprechende Information nicht verfügbar war. Es ist nicht notwendig, Zeichen wie z.B. die Anführungsstriche zu maskieren (\"), wie das Default-Format zur Logdatei zeigt:

%h %u %t "%r" %b

Die obige Formatanweisung/Konfiguration wird Logdateieinträge im Common Log Format (CLF) erzeugen. Dieses Standardformat wird von verschiedensten Webservern erzeugt und kann von vielen Analyseprogrammen gelesen und ausgewertet werden. Ein solcher CLF-konformer Eintrag könnte wie folgt aussehen:

127.0.0.1 Erik [09/Nov/2003:16:44:01 +0100] "POST login HTTP/1.1" 0
127.0.0.1 Erik [09/Nov/2003:16:44:01 +0100] "POST HTTP/1.1" 28
127.0.0.1 Erik [09/Nov/2003:16:44:01 +0100] "POST opendir d:/homeip/html HTTP/1.1" 21398

127.0.0.1 (%h | %a)
Das ist die IP Addresse des Clients mit dem der Zugriff auf den Server durchgeführt wurde. Das muss nicht unbedingt die IP Addresse des verwendeten Computers sein, auf dem ein Browser benutzt wurde. Befindet sich ein Proxy zwischen Benutzer und Server, wird eher nur dessen IP Adresse, statt die des verwendeten Computers, erfasst.

Erik (%u)
Das ist der Benutzername, in diesem Fall der durch das efileman Login identifizierte Name.

[09/Nov/2003:16:44:01 +0100] (%t)
Die Zeit, zu der die Bearbeitung der Anfrage abgeschlossen wurde. Das Format ist :
[day/month/year:hour:minute:second zone]

day = 2*Zahl
month = 3*Buchstabe
year = 4*Zahl
hour = 2*Zahl
minute = 2*Zahl
second = 2*Zahl
zone = (`+' | `-') 4*Zahl

"POST opendir d:/homeip/html HTTP/1.1" ("%r")
Dieser Teil ist vergleichbar mit der ersten Zeile der Anfrage des Clients und wird in Anführungsstrichen dargestellt. Er beinhaltet erstens die Zugriffsmethode des Clients: POST. Zweitens, die Aktion des Benutzers, im Beispiel das öffnen des Verzeichnisses d:/homeip/html registriert als "opendir", und drittens, das vom Client verwendete Protokoll: HTTP/1.1.

21398 (%b)
Der letzte Eintrag bestimmt die Grösse des an den Browser zurückgeschickten Objektes (HTML-Seite oder Download) ohne den Header. Wurde nichts an den Client zurückgegeben, wird "-" geschrieben. Um für diesen Fall eine 0 zu erhalten, kann %B verwendet werden.


top
application.log

efileman kennt 4 globals Hashs, welche die Daten für alle Script Methoden beinhalten. Diese sind:

%GLOBALalle konfigurierten globalen Werte aus efileman_config.pm
%CRACCalle konfigurierten Default User-Werte aus efileman_config.pm
%FORMalle empfangenen Daten unabh. von der HTTP Methode des aufrufenden Clients
%USERalle Daten des aktuellen Benutzers

Für spezielle Zwecke wird der Hash %USERDATA verwendet, welcher die Daten aller konfigurierten Benutzer enthält. Das Skript fügt Daten zu den Hashs hinzu, wann immer es notwendig ist, Daten zwischen den Methodenaufrufen zu übergeben, z.B. wird script_name dem Hash %USER hinzugefügt. Deswegen werden im application.log standardmässig zwei Eintragungen während eines Skriptdurchlaufs vorgenommen, einer nach dem Auslesen der Konfiguration (efileman_config.pm und die entsprechende Sprachdatei), und einer bevor das Ergebnis in Form einer HTML-Datei an den aufrufenden Browser zurückgesendet wird. Im Folgenden ein Beispiel aus dem application.log während eines Login-Vorgangs :

..........:Fri Nov 14 13:01:44 2003:..........
called from Package : module::ef_main
File: c:/homeip/cgi-bin/mod_perl/efileman7.1/module/ef_main.pm
Line : 135

..........:GLOBAL:..........
enable_mail = '1'
protectlinks = '0'
language = 'english'
log_format = '%h %l %u %t "%r" %>s %B %{Referer}i %{User-agent}i'
enable_dl_cnt = '1'
mailtoall = '1'
image_url = 'http://localhost/images/efileman'
register_mailtext = 'Dear User,

your new account data :

Username : ##username##
Password : ##password##

Please change your password immediately.'
lock_efileman = '0'
system_email_address = 'test@test.com'
generate_pwd = '1'
enable_admin = '1'
sessiontime = '30'
image_path = 'c:/homeip/html/images/efileman'
VERSION = '7.1'
show_disabled_button = '0'
skin = 'default'
log_path = 'c:/homeip/cgi-bin/mod_perl/efileman7.1/logfile'
max_user = '5'
reduceHTML = '0'
enable_register = '1'
enable_login = '1'
enable_sendpwd = '1'
zip_available = '0'
automake_userpath = '1'
usrfile_path = 'c:/homeip/cgi-bin/mod_perl/efileman7.1/usrfiles'
register_mailsubject = 'Your new efileman account data'
debug_modus_on = '1'
send_register_mail = '1'
max_Form_field_length = '300'
log_user_action = '1'
system_mail_signature = '--------------------------------------------------

This Mail has been generated and sent by efileman.'
enable_upload = '1'
newpwd_mailtext = 'Dear User,

your new account password is : ##password##

Please change this password immediately.'
file_lock = '1'
script_url = 'http://localhost/mod_perl/efileman7.1/efileman.cgi'
time_shift = '0'
upload_fields = '8'
upload_path = ''
server_name = 'localhost'
enable_sessiontime = '0'
mail_type = '192.168.0.110'
newpwd_mailsubject = 'New efileman account data'
..........:USER:..........
path_seperator = '1'
curversion = '7.1.0.85'
script_path = 'c:/homeip/cgi-bin/mod_perl/efileman7.1'
post = '28'
script_name = 'efileman.cgi'
..........:FORM:..........
pwd = 'Text removed by applog method'
crypted = '1'
user = 'test'


..........:Fri Nov 14 13:01:44 2003:..........
called from Package : module::ef_subs
File: c:/homeip/cgi-bin/mod_perl/efileman7.1/module/ef_subs.pm
Line : 186

..........:GLOBAL:..........

Hier folgen die entsprechenden Werte nach Verarbeitung durch das Script,
die sich in Anzahl und Inhalt unterscheiden können.
top