# Journaux

## Journaux d'Apache

Par défaut, LemonLDAP::NG utilise les journaux d'Apache pour journaliser les actions des utilisateurs et autre messages :

- Journaux d'erreur (ErrorLog) : tous les messages emis par le programme, suivant le niveau de journalisation configuré (LogLevel)
- Journaux d'accès (AccessLog) : l'utilisateur de chaque requête est identifié

Le niveau de journalisation peut être configuré via le paramètre `LogLevel` d'Apache. Il peut être configuré globalement, ou dans chaque hôte virtuel.

Voir http://httpd.apache.org/docs/current/mod/core.html#loglevel pour plus d'informations.

Pour configurer l'identifiant utilisateur dans les journaux d'accès, aller dans le manager, `Paramètres généraux` > `Journalisation` > `REMOTE_USER`.

On peut aussi masque les sonnées sensibles dans les journaux (le contenu de la session est affiché dans les journaux lorsque logLevel est positionné à debug). Aller dans le manager, `Paramètres généraux` » `Journaux` » `Attributs masqués` et indiquer la liste des attributs à masquer (séparés par des espaces).

## Syslog

LemonLDAP::NG peut également utiliser syslog (seulement pour les actions utilisateurs).

Dans le manager, choisir la facilité syslog dans `Paramètres généraux` > `Journalisation` > `Facilité syslog`.

Les messages sont stockés avec les niveaux :

- info pour les actions utilisateurs
- notice pour les authentifications réussies et les échanges externes (SAML, OpenID,…)
- warn pour les échecs d'authentifications

## Surcharger les fonctions de journalisation

On peut personnaliser les fonctions de journalisation en redéfinissant les méthodes userNotice() et userError(), directement dans `lemonldap-ng.ini`

Exemple :

    [portal]
    userError = sub { my ($self, $message) = @_; ... }
    userNotice = sub { my ($self, $message) = @_; ... }