.. _log-management:

##################
Gestion des traces
##################


Emplacements par défaut
=======================

L'emplacement des fichiers de traces dépend de la méthode
d'installation et du système d'exploitation.

Si Waarp Manager a été installé via l'archive autonome, les logs se situent
dans le dossier :file:`logs` à la racine du dossier d'extraction.

Si Waarp Manager a été installé en utilisant les packages, les logs sont
envoyés au démon :program:`syslog` du système.

Ils peuvent être consultés dans Si le système utilise
:program:`systemd`, les logs peuvent être consultées avec le programme
:program:`journalctl`, par exemple avec la commande :

.. code-block:: bash

   journalctl -u waarp-manager.service

Dans les autres cas, les traces peuvent être trouvées dans le fichier
:file:`/var/log/messages`.

.. seealso::

   La `documentation de journalctl`_

.. _Documentation de journalctl: https://www.freedesktop.org/software/systemd/man/journalctl.html



Configuration
=============

Les traces de Waarp Manager sont paramétrés dans la section ``[log]`` du
:ref:`fichier de configuration <config-file>`.

Niveau et contenu
-----------------

Le niveau des messages écrits dans les traces est défini dans le
paramètre ``LogLevel``. Les valeurs possibles sont ``DEBUG``, ``INFO``
(défaut), ``WARNING`` et ``ERROR``.

Les paramètres ``LogSqlStatements`` et ``LogHttpRequests`` permettent
d'activer ou de désactiver (respectivement) les requêtes SQL exécutées
et les requêtes HTTP servies.


Destination
-----------

La destination des traces est définie dans le paramètre ``LogTo``, qui
peut avoir les valeurs suivantes : ``syslog``, ``stdout`` (défaut),
``stderr``, ou le chemin vers un fichier.

Si ``LogTo`` est défini à ``syslog``, la catégorie est définie par le
paramètre ``SysLogFacility``. Par défaut, ``local0`` est utilisé.




Rotation des logs
=================

La rotation des logs est automatique en utilisant :program:`syslog`
(elle est gérée soit par le système, soit par le :program:`journalctl`).

Quand Waarp Manager est configuré pour écrire ses traces dans un
fichier, il peut être utile de configurer la rotation des traces avec
:program:`logrotate`.

Pour ce faire, créez le fichier :file:`/etc/logrotate.d/waarp-manager`
avec par le contenu suivant :

.. code-block:: text

   /path/to/waarp-manager.log {
       missingok
       notifempty
       size 10M
       weekly
       compress
       create 0600 waarp waarp
       postrotate
          /usr/bin/killall -USR1 waarp-manager
   }

.. note:: 

   L'envoi du signal ``USR1`` à Waarp Manager est nécessaire pour que le
   programme ré-ouvre le fichier d'écriture des logs après la rotation.

