Access.log : fichier journal de Lighty

Cette page est ma traduction de la page de la documentation du module mod_accesslog.

Options

accesslog.use-syslogenvoyer l'accesslog à syslogpar défaut : disabledaccesslog.syslog-levelniveau de gravité pour la journalisation syslogVoir http://en.wikipedia.org/wiki/Syslog#Severity_levelspour les valeurs numériquespar défaut : 6 (info)accesslog.filenamenom du fichier d'accesslog si syslog n'est pas utilisési le nom commence par un '|', le reste du nom est considéré comme le nom d'un processus qui sera créé et donnera la sortiepar ex.

accesslog.filename = "/var/log/lighttpd.log"
$HTTP["host"] == "mail.example.org" {
accesslog.filename = "|/usr/bin/cronolog"
}

si vous avez plusieurs utilisateurs et que vous voulez que tous les journaux d'accès soient écrits, utilisez

accesslog.filename = "\|/usr/sbin/cronolog.."

par défaut : disabledaccesslog.formatpar défaut : format du fichier journal

Format du fichier journal

%%caractère %%hnom ou adresse de l'hôte à distance
retourne toujours l'adresse IP de l'hôte, jamais le nom.
Donc équivalent à %a, qui n'est pas implémenté%uutilisateur authentifié%theure de fin de la demande%rdemande en ligne%scode d'état (= %>s = %<s : compatibilité avec apache)%b ou %Boctets envoyés pour le body%iChamp en-tête HTTP
attend le nom du champ qui doit être écrit entre accolades.%eenvironnement%fnom de fichier physique%Hprotocole de requête (HTTP/1.0, ...)%mméthode de demande (GET, POST, ...)%o`en-tête de réponse`_
attend le nom du champ qui doit être écrit entre accolades.%pport du serveur%qchaîne de requête
(%q n'est pas précédé d'un “?”, contrairement à Apache)%Ttemps utilisé en secondes%UURL de la requête%vnom du serveur%Vnom d'hôte de la demande HTTP%Xétat de la connexion%Ioctets entrants%Ooctets sortants%{StrFTime chaîne de format}t est supporté.	Non supportés : Option Description %a adresse à distance %A adresse locale %C champ cookie (NS) %l nom ident (non pris en charge) %D temps utilisé en ms (non pris en charge) %P (NS) %n (NS) %{name}C (NS)
Valeur par défaut :

accesslog.format = "%h %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

La différence avec Apache est le deuxième champ qui vaut %V au lieu de %l.

En-tête de la réponse

Le module accesslog provides a special way to log content from the application in a accesslog file.

Pour noter l'identifiant de session dans le fichier de log accesslog il suffit de spécifier le nom de champ dans un %{...}o comme :

accesslog.format = "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-LIGHTTPD-SID}o\""

Chaque en-tête de réponse commençant par le préfixe X-LIGHTTPD- est supposé spécial pour lighttpd et ne sera pas envoyé au client.

Voici un exemple de l'utilisation de cette fonctionnalité :

<?php
session_start();
header("X-LIGHTTPD-SID: ".session_id()); ;>
TEST

If you log to a pipe and have lighty chrooted the user running lighty will need access to “/bin/sh”.

Voir aussi

(en) Documentation du module accesslogBasé sur http://redmine.lighttpd.net/projects/1/wiki/Docs_ModAccessLog de la documentation.