Ceci est une ancienne révision du document !
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.<code>accesslog.filename = "/var/log/lighttpd.log"
$HTTP["host"] == "mail.example.org" {
accesslog.filename = "|/usr/bin/cronolog"
}
</code>
-
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.