Table des matières
Access.log : fichier journal de Lighty
Cette page est ma traduction de la page de la documentation du module mod_accesslog.
Options
- accesslog.use-syslog
- envoyer l'accesslog à syslog
- par défaut : disabled
- accesslog.syslog-level
- niveau de gravité pour la journalisation syslog
- Voir http://en.wikipedia.org/wiki/Syslog#Severity_levels
- pour les valeurs numériques
- par défaut : 6 (info)
- accesslog.filename
- nom 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 sortie
-
par 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 : disabled
- accesslog.format
- par défaut : format du fichier journal
Format du fichier journal
- %%
- caractère %
- %h
-
nom 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é - %u
- utilisateur authentifié
- %t
- heure de fin de la demande
- %r
- demande en ligne
- %s
- code d'état (= %>s = %<s : compatibilité avec apache)
- %b ou %B
- octets envoyés pour le body
- %i
-
Champ en-tête HTTP
attend le nom du champ qui doit être écrit entre accolades. - %e
- environnement
- %f
- nom de fichier physique
- %H
- protocole de requête (HTTP/1.0, …)
- %m
- méthode de demande (GET, POST, …)
- %o
-
`en-tête de réponse`_
attend le nom du champ qui doit être écrit entre accolades. - %p
- port du serveur
- %q
-
chaîne de requête
(%q n'est pas précédé d'un “?”, contrairement à Apache) - %T
- temps utilisé en secondes
- %U
- URL de la requête
- %v
- nom du serveur
- %V
- nom d'hôte de la demande HTTP
- %X
- état de la connexion
- %I
- octets entrants
- %O
- octets 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
Basé sur http://redmine.lighttpd.net/projects/1/wiki/Docs_ModAccessLog de la documentation.