Configuration de la journalisation
Cette section décrit le tableau de configuration de la journalisation
de l'application.
Structure...
[booléen],
'level' => '[niveau]',
'handlers' => array(
'[handler 1]',
array (
'handler' => [handler 2],
'level' => '[niveau]',
'loggers' => array('logger1', [...]),
'excluded_loggers' => array('logger2', [...]),
'format' => '[LSformat]',
'cli_format' => '[LSformat]',
'datetime_prefix' => [booléen],
'datetime_format' => '[format date()]',
// Autres paramètres propre à ce handler
[...]
),
[...]
),
'loggers' => array (
'logger1' => array (
'level' => 'DEBUG',
),
'logger2' => array (
'enabled' => false,
),
[...]
);
);]]>
...
Paramètres de configuration
enable
Booléen permatant d'activer ou désactiver complètement la
journalisation. Par défaut : False
level
Ce paramètre défini le niveau minimum de la journalisation :
tous les messages des niveaux inférieurs ne seront pas inclus dans le
journal de l'application. Les niveaux de journalisation gérés par
l'application sont (dans l'ordre du plus petit au plus grand) :
DEBUG
INFO
WARNING
ERROR
FATAL
handlers
Tableau permettant de configurer les handlers de la
journalisation. Chaque handler gère les messages
journalisés d'une manière qui lui est propre.
Plusieurs handlers peuvent être configurés en même
temps (y compris plusieurs handlers du même type).
Ce tableau peut contenir simplement le nom du type de handler
à utiliser ou bien des tableaux configurant un à un chacun des
handlers. Dans ce second cas, la structure de la
configuration d'un handler est la suivante :
Structure...
[type],
'level' => '[niveau]',
'loggers' => array('logger1', [...]),
'excluded_loggers' => array('logger2', [...]),
'format' => '[LSformat]',
'cli_format' => '[LSformat]',
'datetime_prefix' => [booléen],
'datetime_format' => '[format date()]',
// Autres paramètres propre à ce handler
[...]
)]]>
...
Paramètres de configuration d'un handler
handler
Type du handler (voir ci-dessous).
level
Ce paramètre défini le niveau minimum de la journalisation
spécifique à cet handler. Si ce paramètre est omis,
le niveau global sera utilisé. Les valeurs possibles de ce paramètre
sont les mêmes que pour le paramètre $GLOBALS['LSlog']['level']
.
loggers
Liste exhautive des composants dont les messages doivent être traités
par ce handler (paramètre facultatif, par défaut : tous les composants).
excluded_loggers
Liste exhautive des composants dont les messages ne doivent pas être
traités par ce handler (paramètre facultatif, par défaut : aucun composant).
format
&LSformat; des messages de cet journalisé par ce handler. Ce format
est composé à partir des informations décritent ci-dessous. Par défaut :
%{requesturi} - %{remoteaddr} - %{ldapservername} - %{authuser} - %{logger} - %{level} - %{message}
level
Le niveau du message.
message
Le message.
logger
Le composant ayant déchenché cette journalisation.
clibinpath
Le nom du script ayant déclenché cette jounalisation (uniquement en cas d'exécution en ligne de commande).
requesturi
L'URL de la page courante (uniquement dans un contexte Web).
remoteaddr
L'adresse IP du client (uniquement dans un contexte Web).
ldapservername
Le nom du serveur LDAP courant.
authuser
Le DN de l'utilisateur connecté (uniquement dans un contexte Web).
cli_format
&LSformat; des messages de cet journalisé par ce handler dans le
cas d'une exécution en ligne de commande. Ce format est composé à partir des
même informations que le paramètre format (voir ci-dessus).
Par défaut : %{clibinpath} - %{logger} - %{level} - %{message}
datetime_format
Booléen permettant de définir si le message doit être préfixé de la
date et heure courante. La valeur par défaut dépends de l'handler (en règle
général, toujours actif sauf lorsque le canal de journalisation l'ajoute déjà).
datetime_format
Format de la date et heure lorsque celle-ci est ajoutée en préfixe
du message (voir paramètre datetime_format). Le format
correspond à celui attendu par la function date() de &php;
. Consultez la documentation officielle
pour plus de détails (Par défaut : Y/m/d H:i:s).
Il existe plusieurs types d'handlers gérés par
l'application :
file
Journalisation dans un simple fichier texte. Le chemin du
fichier peut être configuré via le paramètre path.
Si ce paramètre est omis, le chemin du fichier par défaut est soit la
valeur de la variable $GLOBALS['LSlog']['filename']
(pour la rétro-compatibilité avec les anciennes versions d'LdapSaisie)
ou à défaut : tmp/LS.log.
syslog
Journalisation via le service syslog.
Il est possible de configurer une priorité systématique pour les
messages journalisés. À défaut, la priorité sera déterminée
automatiquement en fonction du niveau du message. Les valeurs
possibles de ce paramètre sont : EMERG, ALERT, CRITICAL,
ERROR, WARNING, NOTICE, INFO, DEBUG
system
Journalisation via le gestionnaire d'erreurs PHP. Cet
handler utilise la fonction PHP error_log.
Pour plus d'informations sur comment configurer le gestionnaire d'erreurs
PHP, consulter la documentation
officielle.
email
Journalisation via l'envoi d'un email : chaque message journalisé
déclenchera l'envoi d'un email au destinataire configuré. L'adresse email
du destinataire peut-être configurée via le paramètre recipient
.
Il est conseillé d'utiliser ce type d'handler
avec un niveau minimum de journalisation important (FATAL
recommandé) pour ne pas déclencher un nombre trop important d'envois d'emails.
loggers
Tableau permettant de configurer la journalisation composant par composant.
Chaque composant peut avoir son propre logger ce qui permet
alors, par exemple, de configurer le niveau de log spécifiquement pour ce
composant.
Le nom des composant correspond en général au nom de la classe &php;
correspondante, ou bien encore le nom d'une commande (lors d'une exécution en
ligne de commande).
Par défaut, le nom du composant ayant déclenché un message
journalisé est affiché juste avant le niveau de log.
Paramètres de configuration d'un logger
enabled
Booléen permettant de désactiver complètement les logs du composant
(par défaut: True).
level
Niveau de log spécifique pour ce composant (par défaut: le niveau
de log global).