ONYX - 9.1 - Utilisation

Gestion des logs AMETHYST

De MappingDoc
Révision datée du 18 septembre 2019 à 16:00 par Jdieu (discussion | contributions) (Focus sur le fichier config.yaml)

Préambule

Par défaut les logs générées par Mapping sont dans un format propriétaire Mapping afin que celles-ci puissent être lu par l'interface de MAPPING. Il est possible de les transformer en texte grâce à la commande map_log_txt mais il est impossible de modifier leur formatage. Grâce à Améthyst, il est possible de générer des logs avec un formatage paramétrable et vers différents médias possibles. L'activation d'Améthyst et la déactivation de l'ancien système de log améliorent également les performances.

Limitations

Améthyst est en constance évolution. La sortie 9.1.0 inclus la possibilité d'utiliser Améthyst uniquement pour les exécutions du workflow. (Binaire map_809) Des évolutions permettront l'utilisation d'Améthyst avec d'autres binaires. (mapcpysplf, map_lpr et autres)

Liste des médias possibles

Les médias de sorties de logs sont :

  • Fichier texte
  • La console invoquant le traitement
  • Une requête HTTP

Prérequis

  • Onyx Server v9.1.0 minimum

Paramétrage

Pour activer les logs Amethyst il faudra procéder à des modifications

mapping.conf

  1. Aller dans le bloc LOGS
  2. Ajouter les paramètres suivants
  • LOG_TYPE
    • Default : Utilisation de l'ancien système de log Mapping
    • Amethyst : Utilisation du nouveau système de log Mapping (Améthyst)
    • Both : Utilisation des deux systèmes de logs (Ancien et Améthyst)
  • PATH_AMETHYST_LOG
    • Chemin du fichier de configuration d'Améthyst

config.yaml

Améthyst a besoin d'un fichier de configuration, qui part défaut, s'appelle config.yaml et se situe dans le répertoire conf ou settings de MAPPING. Son nom et chemin sont spécifiés dans le fichier mapping.conf dans la partie LOGS avec le paramètre PATH_AMETHYST_LOG Ce fichier de configuration est au format yaml et inclus les configurations des Loggers du nouveau système de logs

Focus sur le fichier config.yaml

Voici les différents node du fichier YAML :

config

  • config:

server

  • server
  • port: le port du serveur de logs.
  • threads : le nombre de threads utilisés par le serveur (max 250)

loggers

  • loggers
  • source : le nom de la source des logs récupéré par les programmes (`workflow` est le nom du logger du map_809)
    • Conversion
    • Workflow
    • logAPI
  • level : le niveaux minimum de logs
    • debug
    • information
    • warning
    • error


Tous les nodes sont regroupés dans le node `config`. Le node server contient les paramètres du serveur de log

    • port: le port du serveur de logs.
    • threads : le nombre de threads utilisés par le serveur (max 250)
  • Le node loggers contient une liste avec tout les loggers
    • source : le nom de la source des logs récupéré par les programmes (`workflow` est le nom du logger du map_809)
      • Conversion
      • Workflow
      • logAPI
    • level : le niveaux minimum de logs
      • debug
      • information
      • warning
      • error
    • channels : la liste des channel qui indique le type de logs
    • type : indique le type de channel
      • ConsoleChannel
      • ColorConsoleChannel
      • HttpChannel
      • FileChannel
    • path : indique le chemin du fichier de log généré (Dans le cas du Type = ConsoleChannel)
      • Chemin du fichier de log généré
    • rotation : Indique la fréquence de génération de nouveau fichier de log (un fichier par jour, par mois, par semaine...)
      • daily: Un fichier par jour
      • weekly: Un fichier par semaine
      • monthly: Un fichier tout les 30 jours
    • format : le format de chaque message de log
      • exemple de valeur : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t'

Liste des valeurs dynamiques possibles : https://pocoproject.org/docs/Poco.PatternFormatter.html