ONYX - 9.1 - Utilisation - Gestion des logs AMETHYST
Différence entre versions
(→Exemple de fichier de configuration) |
(Cette version a été marquée pour être traduite) |
||
(12 révisions intermédiaires par 4 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | =Préambule= | + | <languages/> |
+ | <translate> | ||
+ | =Préambule= <!--T:1--> | ||
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. | 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. | 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. | ||
Ligne 7 : | Ligne 9 : | ||
Des évolutions permettront l'utilisation d'Améthyst avec d'autres binaires. (mapcpysplf, map_lpr et autres) | Des évolutions permettront l'utilisation d'Améthyst avec d'autres binaires. (mapcpysplf, map_lpr et autres) | ||
− | =Liste des médias possibles= | + | =Liste des médias possibles= <!--T:2--> |
Les médias de sorties de logs sont : | Les médias de sorties de logs sont : | ||
− | |||
− | |||
− | |||
− | + | <!--T:3--> | |
− | * | + | *Fichier texte |
+ | *La console invoquant le traitement | ||
+ | *Une requête HTTP | ||
− | =Paramétrage= | + | =Prérequis= <!--T:4--> |
− | Pour activer les logs Amethyst il | + | |
+ | <!--T:5--> | ||
+ | *Onyx Server v9.1.0 minimum | ||
+ | |||
+ | =Paramétrage= <!--T:6--> | ||
+ | Pour activer les logs Amethyst, il convient de procéder aux modifications suivantes : | ||
==mapping.conf== | ==mapping.conf== | ||
+ | |||
+ | <!--T:7--> | ||
#Aller dans le bloc '''LOGS''' | #Aller dans le bloc '''LOGS''' | ||
#Ajouter les paramètres suivants | #Ajouter les paramètres suivants | ||
+ | |||
+ | <!--T:8--> | ||
*LOG_TYPE | *LOG_TYPE | ||
**'''Default''' : Utilisation de l'ancien système de log Mapping | **'''Default''' : Utilisation de l'ancien système de log Mapping | ||
Ligne 28 : | Ligne 38 : | ||
**'''Chemin du fichier de configuration d'Améthyst''' | **'''Chemin du fichier de configuration d'Améthyst''' | ||
− | ==config.yaml== | + | ==config.yaml== <!--T:9--> |
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''' | 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 | 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= | + | =Focus sur le fichier config.yaml= <!--T:10--> |
Voici la description du fichier de configuration : | Voici la description du fichier de configuration : | ||
==config== | ==config== | ||
− | * '''config''' | + | |
− | :* '''server''' | + | <!--T:11--> |
− | ::* port: le port du serveur de logs. | + | *'''config''' |
− | ::* threads : le nombre de threads utilisés par le serveur (max 250) | + | |
− | ==loggers== | + | <!--T:12--> |
− | :* '''loggers''' | + | :*'''server''' |
− | ::* '''source''' : le nom de la source des logs récupéré par les programmes (`workflow` est le nom du logger du map_809) | + | ::*port: le port du serveur de logs. |
− | ::** Workflow | + | ::*threads : le nombre de threads utilisés par le serveur (max 250) |
− | ::* '''level''' : le niveaux minimum de logs | + | |
− | ::** debug | + | ==loggers== <!--T:13--> |
− | ::** information | + | |
− | ::** warning | + | <!--T:14--> |
− | ::** error | + | :*'''loggers''' |
− | ::* '''channels''' : la liste des channel qui indique le type de logs | + | ::*'''source''' : le nom de la source des logs récupéré par les programmes (`workflow` est le nom du logger du map_809) |
− | :::* '''type''' : indique le type de channel | + | ::**Workflow |
− | ==FileChannel== | + | ::*'''level''' : le niveaux minimum de logs |
− | :::* '''path''' : indique le chemin du fichier de log généré | + | ::**debug |
− | ::::* Chemin du fichier de log généré | + | ::**information |
− | :::* '''rotation''' : Indique la fréquence de génération de nouveau fichier de log (un fichier par jour, par mois, par semaine...) | + | ::**warning |
− | ::::* never: no log rotation | + | ::**error |
− | ::::* [day,][hh]:mm: the file is rotated on specified day/time day - day is specified as long or short day name (Monday|Mon, Tuesday|Tue, ... ); day can be omitted, in which case log is rotated every day hh - valid hour range is 00-23; hour can be omitted, in which case log is rotated every hour mm - valid minute range is 00-59; minute must be specified | + | ::*'''channels''' : la liste des channel qui indique le type de logs |
− | ::::* daily: the file is rotated daily | + | :::*'''type''' : indique le type de channel |
− | ::::* weekly: the file is rotated every seven days | + | |
− | ::::* monthly: the file is rotated every 30 days | + | ==FileChannel== <!--T:15--> |
− | ::::* <n> minutes: the file is rotated every <n> minutes, where <n> is an integer greater than zero. | + | |
− | ::::* <n> hours: the file is rotated every <n> hours, where <n> is an integer greater than zero. | + | <!--T:16--> |
− | ::::* <n> days: the file is rotated every <n> days, where <n> is an integer greater than zero. | + | :::*'''path''' : indique le chemin du fichier de log généré |
− | ::::* <n> weeks: the file is rotated every <n> weeks, where <n> is an integer greater than zero. | + | ::::*Chemin du fichier de log généré |
− | ::::* <n> months: the file is rotated every <n> months, where <n> is an integer greater than zero and a month has 30 days. | + | :::*'''rotation''' : Indique la fréquence de génération de nouveau fichier de log (un fichier par jour, par mois, par semaine...) |
− | ::::* <n>: the file is rotated when its size exceeds <n> bytes. | + | ::::*never: no log rotation |
− | ::::* <n> K: the file is rotated when its size exceeds <n> Kilobytes. | + | ::::*[day,][hh]:mm: the file is rotated on specified day/time day - day is specified as long or short day name (Monday|Mon, Tuesday|Tue, ... ); day can be omitted, in which case log is rotated every day hh - valid hour range is 00-23; hour can be omitted, in which case log is rotated every hour mm - valid minute range is 00-59; minute must be specified |
− | ::::* <n> M: the file is rotated when its size exceeds <n> Megabytes. | + | ::::*daily: the file is rotated daily |
− | :::* '''format''' : le format de chaque message de log | + | ::::*weekly: the file is rotated every seven days |
− | ::::* %s - message source | + | ::::*monthly: the file is rotated every 30 days |
− | ::::* %t - message text | + | ::::*<n> minutes: the file is rotated every <n> minutes, where <n> is an integer greater than zero. |
− | ::::* %l - message priority level (1 .. 7) | + | ::::*<n> hours: the file is rotated every <n> hours, where <n> is an integer greater than zero. |
− | ::::* %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) | + | ::::*<n> days: the file is rotated every <n> days, where <n> is an integer greater than zero. |
− | ::::* %q - abbreviated message priority (F, C, E, W, N, I, D, T) | + | ::::*<n> weeks: the file is rotated every <n> weeks, where <n> is an integer greater than zero. |
− | ::::* %P - message process identifier | + | ::::*<n> months: the file is rotated every <n> months, where <n> is an integer greater than zero and a month has 30 days. |
− | ::::* %T - message thread name | + | ::::*<n>: the file is rotated when its size exceeds <n> bytes. |
− | ::::* %I - message thread identifier (numeric) | + | ::::*<n> K: the file is rotated when its size exceeds <n> Kilobytes. |
− | ::::* %N - node or host name | + | ::::*<n> M: the file is rotated when its size exceeds <n> Megabytes. |
− | ::::* %U - message source file path (empty string if not set) | + | :::*'''compress''' : Indique si les anciens fichiers de log doivent être compressés dans un dossier compressé |
− | ::::* %u - message source line number (0 if not set) | + | :::**false : les fichiers ne sont pas compressés |
− | ::::* %w - message date/time abbreviated weekday (Mon, Tue, ...) | + | :::**true : les fichiers sont compressés <br /><br /> |
− | ::::* %W - message date/time full weekday (Monday, Tuesday, ...) | + | :::*'''purgeAge(non implémenté)''' : Permet la suppression automatique des anciens fichiers de log en fonction de la date de création des fichiers |
− | ::::* %b - message date/time abbreviated month (Jan, Feb, ...) | + | :::**<n> seconds : supression des fichiers vieux de <n> secondes. |
− | ::::* %B - message date/time full month (January, February, ...) | + | :::**<n> minutes : supression des fichiers vieux de <n> minutes. |
− | ::::* %d - message date/time zero-padded day of month (01 .. 31) | + | :::**<n> hours : suppression des fichiers vieux de <n> heures. |
− | ::::* %e - message date/time day of month (1 .. 31) | + | :::**<n> days : suppression des fichiers vieux de <n> jours. |
− | ::::* %f - message date/time space-padded day of month ( 1 .. 31) | + | :::**<n> weeks : suppression des fichiers vieux de <n> semaines. |
− | ::::* %m - message date/time zero-padded month (01 .. 12) | + | :::**<n> months : suppression des fichiers vieux de <n> mois. <br /><br /> |
− | ::::* %n - message date/time month (1 .. 12) | + | :::*'''purgeCount''' : Permet la suppression automatique des anciens fichiers de log en fonction d'un nombre maximum de fichier. |
− | ::::* %o - message date/time space-padded month ( 1 .. 12) | + | :::**<n> : Seul les <n> fichiers (les plus récents) sont conservés. <br /><br /> |
− | ::::* %y - message date/time year without century (70) | + | :::*'''format''' : le format de chaque message de log |
− | ::::* %Y - message date/time year with century (1970) | + | ::::*%s - message source |
− | ::::* %H - message date/time hour (00 .. 23) | + | ::::*%t - message text |
− | ::::* %h - message date/time hour (00 .. 12) | + | ::::*%l - message priority level (1 .. 7) |
− | ::::* %a - message date/time am/pm | + | ::::*%p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) |
− | ::::* %A - message date/time AM/PM | + | ::::*%q - abbreviated message priority (F, C, E, W, N, I, D, T) |
− | ::::* %M - message date/time minute (00 .. 59) | + | ::::*%P - message process identifier |
− | ::::* %S - message date/time second (00 .. 59) | + | ::::*%T - message thread name |
− | ::::* %i - message date/time millisecond (000 .. 999) | + | ::::*%I - message thread identifier (numeric) |
− | ::::* %c - message date/time centisecond (0 .. 9) | + | ::::*%N - node or host name |
− | ::::* %F - message date/time fractional seconds/microseconds (000000 - 999999) | + | ::::*%U - message source file path (empty string if not set) |
− | ::::* %z - time zone differential in ISO 8601 format (Z or +NN.NN) | + | ::::*%u - message source line number (0 if not set) |
− | ::::* %Z - time zone differential in RFC format (GMT or +NNNN) | + | ::::*%w - message date/time abbreviated weekday (Mon, Tue, ...) |
− | ::::* %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) | + | ::::*%W - message date/time full weekday (Monday, Tuesday, ...) |
− | ::::* %E - epoch time (UTC, seconds since midnight, January 1, 1970) | + | ::::*%b - message date/time abbreviated month (Jan, Feb, ...) |
− | ::::* %v[width] - the message source (%s) but text length is padded/cropped to 'width' | + | ::::*%B - message date/time full month (January, February, ...) |
− | ::::* %[name] - the value of the message parameter with the given name | + | ::::*%d - message date/time zero-padded day of month (01 .. 31) |
− | ::::* %% - percent sign | + | ::::*%e - message date/time day of month (1 .. 31) |
+ | ::::*%f - message date/time space-padded day of month ( 1 .. 31) | ||
+ | ::::*%m - message date/time zero-padded month (01 .. 12) | ||
+ | ::::*%n - message date/time month (1 .. 12) | ||
+ | ::::*%o - message date/time space-padded month ( 1 .. 12) | ||
+ | ::::*%y - message date/time year without century (70) | ||
+ | ::::*%Y - message date/time year with century (1970) | ||
+ | ::::*%H - message date/time hour (00 .. 23) | ||
+ | ::::*%h - message date/time hour (00 .. 12) | ||
+ | ::::*%a - message date/time am/pm | ||
+ | ::::*%A - message date/time AM/PM | ||
+ | ::::*%M - message date/time minute (00 .. 59) | ||
+ | ::::*%S - message date/time second (00 .. 59) | ||
+ | ::::*%i - message date/time millisecond (000 .. 999) | ||
+ | ::::*%c - message date/time centisecond (0 .. 9) | ||
+ | ::::*%F - message date/time fractional seconds/microseconds (000000 - 999999) | ||
+ | ::::*%z - time zone differential in ISO 8601 format (Z or +NN.NN) | ||
+ | ::::*%Z - time zone differential in RFC format (GMT or +NNNN) | ||
+ | ::::*%L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) | ||
+ | ::::*%E - epoch time (UTC, seconds since midnight, January 1, 1970) | ||
+ | ::::*%v[width] - the message source (%s) but text length is padded/cropped to 'width' | ||
+ | ::::*%[name] - the value of the message parameter with the given name | ||
+ | ::::*%% - percent sign | ||
::::<u>Exemple de valeur</u> : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ::::<u>Exemple de valeur</u> : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ||
− | ==ConsoleChannel== | + | ==ConsoleChannel== <!--T:17--> |
− | :::* '''format''' : le format de chaque message de log | + | |
− | ::::* %s - message source | + | <!--T:18--> |
− | ::::* %t - message text | + | :::*'''format''' : le format de chaque message de log |
− | ::::* %l - message priority level (1 .. 7) | + | ::::*%s - message source |
− | ::::* %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) | + | ::::*%t - message text |
− | ::::* %q - abbreviated message priority (F, C, E, W, N, I, D, T) | + | ::::*%l - message priority level (1 .. 7) |
− | ::::* %P - message process identifier | + | ::::*%p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) |
− | ::::* %T - message thread name | + | ::::*%q - abbreviated message priority (F, C, E, W, N, I, D, T) |
− | ::::* %I - message thread identifier (numeric) | + | ::::*%P - message process identifier |
− | ::::* %N - node or host name | + | ::::*%T - message thread name |
− | ::::* %U - message source file path (empty string if not set) | + | ::::*%I - message thread identifier (numeric) |
− | ::::* %u - message source line number (0 if not set) | + | ::::*%N - node or host name |
− | ::::* %w - message date/time abbreviated weekday (Mon, Tue, ...) | + | ::::*%U - message source file path (empty string if not set) |
− | ::::* %W - message date/time full weekday (Monday, Tuesday, ...) | + | ::::*%u - message source line number (0 if not set) |
− | ::::* %b - message date/time abbreviated month (Jan, Feb, ...) | + | ::::*%w - message date/time abbreviated weekday (Mon, Tue, ...) |
− | ::::* %B - message date/time full month (January, February, ...) | + | ::::*%W - message date/time full weekday (Monday, Tuesday, ...) |
− | ::::* %d - message date/time zero-padded day of month (01 .. 31) | + | ::::*%b - message date/time abbreviated month (Jan, Feb, ...) |
− | ::::* %e - message date/time day of month (1 .. 31) | + | ::::*%B - message date/time full month (January, February, ...) |
− | ::::* %f - message date/time space-padded day of month ( 1 .. 31) | + | ::::*%d - message date/time zero-padded day of month (01 .. 31) |
− | ::::* %m - message date/time zero-padded month (01 .. 12) | + | ::::*%e - message date/time day of month (1 .. 31) |
− | ::::* %n - message date/time month (1 .. 12) | + | ::::*%f - message date/time space-padded day of month ( 1 .. 31) |
− | ::::* %o - message date/time space-padded month ( 1 .. 12) | + | ::::*%m - message date/time zero-padded month (01 .. 12) |
− | ::::* %y - message date/time year without century (70) | + | ::::*%n - message date/time month (1 .. 12) |
− | ::::* %Y - message date/time year with century (1970) | + | ::::*%o - message date/time space-padded month ( 1 .. 12) |
− | ::::* %H - message date/time hour (00 .. 23) | + | ::::*%y - message date/time year without century (70) |
− | ::::* %h - message date/time hour (00 .. 12) | + | ::::*%Y - message date/time year with century (1970) |
− | ::::* %a - message date/time am/pm | + | ::::*%H - message date/time hour (00 .. 23) |
− | ::::* %A - message date/time AM/PM | + | ::::*%h - message date/time hour (00 .. 12) |
− | ::::* %M - message date/time minute (00 .. 59) | + | ::::*%a - message date/time am/pm |
− | ::::* %S - message date/time second (00 .. 59) | + | ::::*%A - message date/time AM/PM |
− | ::::* %i - message date/time millisecond (000 .. 999) | + | ::::*%M - message date/time minute (00 .. 59) |
− | ::::* %c - message date/time centisecond (0 .. 9) | + | ::::*%S - message date/time second (00 .. 59) |
− | ::::* %F - message date/time fractional seconds/microseconds (000000 - 999999) | + | ::::*%i - message date/time millisecond (000 .. 999) |
− | ::::* %z - time zone differential in ISO 8601 format (Z or +NN.NN) | + | ::::*%c - message date/time centisecond (0 .. 9) |
− | ::::* %Z - time zone differential in RFC format (GMT or +NNNN) | + | ::::*%F - message date/time fractional seconds/microseconds (000000 - 999999) |
− | ::::* %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) | + | ::::*%z - time zone differential in ISO 8601 format (Z or +NN.NN) |
− | ::::* %E - epoch time (UTC, seconds since midnight, January 1, 1970) | + | ::::*%Z - time zone differential in RFC format (GMT or +NNNN) |
− | ::::* %v[width] - the message source (%s) but text length is padded/cropped to 'width' | + | ::::*%L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) |
− | ::::* %[name] - the value of the message parameter with the given name | + | ::::*%E - epoch time (UTC, seconds since midnight, January 1, 1970) |
− | ::::* %% - percent sign | + | ::::*%v[width] - the message source (%s) but text length is padded/cropped to 'width' |
+ | ::::*%[name] - the value of the message parameter with the given name | ||
+ | ::::*%% - percent sign | ||
::::<u>Exemple de valeur</u> : ''[Console] %H:%M:%S [%p]%s: %t'' | ::::<u>Exemple de valeur</u> : ''[Console] %H:%M:%S [%p]%s: %t'' | ||
− | ==ColorConsoleChannel== | + | ==ColorConsoleChannel== <!--T:19--> |
− | :::* '''path''' : indique le chemin du fichier de log généré (Dans le cas du Type = FileChannel) | + | |
− | ::::* Chemin du fichier de log généré | + | <!--T:20--> |
− | :::* '''format''' : le format de chaque message de log | + | :::*'''path''' : indique le chemin du fichier de log généré (Dans le cas du Type = FileChannel) |
− | ::::* %s - message source | + | ::::*Chemin du fichier de log généré |
− | ::::* %t - message text | + | :::*'''format''' : le format de chaque message de log |
− | ::::* %l - message priority level (1 .. 7) | + | ::::*%s - message source |
− | ::::* %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) | + | ::::*%t - message text |
− | ::::* %q - abbreviated message priority (F, C, E, W, N, I, D, T) | + | ::::*%l - message priority level (1 .. 7) |
− | ::::* %P - message process identifier | + | ::::*%p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) |
− | ::::* %T - message thread name | + | ::::*%q - abbreviated message priority (F, C, E, W, N, I, D, T) |
− | ::::* %I - message thread identifier (numeric) | + | ::::*%P - message process identifier |
− | ::::* %N - node or host name | + | ::::*%T - message thread name |
− | ::::* %U - message source file path (empty string if not set) | + | ::::*%I - message thread identifier (numeric) |
− | ::::* %u - message source line number (0 if not set) | + | ::::*%N - node or host name |
− | ::::* %w - message date/time abbreviated weekday (Mon, Tue, ...) | + | ::::*%U - message source file path (empty string if not set) |
− | ::::* %W - message date/time full weekday (Monday, Tuesday, ...) | + | ::::*%u - message source line number (0 if not set) |
− | ::::* %b - message date/time abbreviated month (Jan, Feb, ...) | + | ::::*%w - message date/time abbreviated weekday (Mon, Tue, ...) |
− | ::::* %B - message date/time full month (January, February, ...) | + | ::::*%W - message date/time full weekday (Monday, Tuesday, ...) |
− | ::::* %d - message date/time zero-padded day of month (01 .. 31) | + | ::::*%b - message date/time abbreviated month (Jan, Feb, ...) |
− | ::::* %e - message date/time day of month (1 .. 31) | + | ::::*%B - message date/time full month (January, February, ...) |
− | ::::* %f - message date/time space-padded day of month ( 1 .. 31) | + | ::::*%d - message date/time zero-padded day of month (01 .. 31) |
− | ::::* %m - message date/time zero-padded month (01 .. 12) | + | ::::*%e - message date/time day of month (1 .. 31) |
− | ::::* %n - message date/time month (1 .. 12) | + | ::::*%f - message date/time space-padded day of month ( 1 .. 31) |
− | ::::* %o - message date/time space-padded month ( 1 .. 12) | + | ::::*%m - message date/time zero-padded month (01 .. 12) |
− | ::::* %y - message date/time year without century (70) | + | ::::*%n - message date/time month (1 .. 12) |
− | ::::* %Y - message date/time year with century (1970) | + | ::::*%o - message date/time space-padded month ( 1 .. 12) |
− | ::::* %H - message date/time hour (00 .. 23) | + | ::::*%y - message date/time year without century (70) |
− | ::::* %h - message date/time hour (00 .. 12) | + | ::::*%Y - message date/time year with century (1970) |
− | ::::* %a - message date/time am/pm | + | ::::*%H - message date/time hour (00 .. 23) |
− | ::::* %A - message date/time AM/PM | + | ::::*%h - message date/time hour (00 .. 12) |
− | ::::* %M - message date/time minute (00 .. 59) | + | ::::*%a - message date/time am/pm |
− | ::::* %S - message date/time second (00 .. 59) | + | ::::*%A - message date/time AM/PM |
− | ::::* %i - message date/time millisecond (000 .. 999) | + | ::::*%M - message date/time minute (00 .. 59) |
− | ::::* %c - message date/time centisecond (0 .. 9) | + | ::::*%S - message date/time second (00 .. 59) |
− | ::::* %F - message date/time fractional seconds/microseconds (000000 - 999999) | + | ::::*%i - message date/time millisecond (000 .. 999) |
− | ::::* %z - time zone differential in ISO 8601 format (Z or +NN.NN) | + | ::::*%c - message date/time centisecond (0 .. 9) |
− | ::::* %Z - time zone differential in RFC format (GMT or +NNNN) | + | ::::*%F - message date/time fractional seconds/microseconds (000000 - 999999) |
− | ::::* %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) | + | ::::*%z - time zone differential in ISO 8601 format (Z or +NN.NN) |
− | ::::* %E - epoch time (UTC, seconds since midnight, January 1, 1970) | + | ::::*%Z - time zone differential in RFC format (GMT or +NNNN) |
− | ::::* %v[width] - the message source (%s) but text length is padded/cropped to 'width' | + | ::::*%L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) |
− | ::::* %[name] - the value of the message parameter with the given name | + | ::::*%E - epoch time (UTC, seconds since midnight, January 1, 1970) |
− | ::::* %% - percent sign | + | ::::*%v[width] - the message source (%s) but text length is padded/cropped to 'width' |
+ | ::::*%[name] - the value of the message parameter with the given name | ||
+ | ::::*%% - percent sign | ||
::::<u>Exemple de valeur</u> : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ::::<u>Exemple de valeur</u> : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ||
− | :::* '''traceColor''' : Indique la couleur de message de niveau trace (Dans le cas du Type = ColorConsoleChannel) | + | :::*'''traceColor''' : Indique la couleur de message de niveau trace (Dans le cas du Type = ColorConsoleChannel) |
− | :::* '''informationColor''' : Indique la couleur de message de niveau | + | :::*'''informationColor''' : Indique la couleur de message de niveau information (Dans le cas du Type = ColorConsoleChannel) |
− | :::* '''noticeColor''' : Indique la couleur de message de niveau | + | :::*'''noticeColor''' : Indique la couleur de message de niveau notice (Dans le cas du Type = ColorConsoleChannel) |
− | :::* '''warningColor''' : Indique la couleur de message de niveau | + | :::*'''warningColor''' : Indique la couleur de message de niveau warning (Dans le cas du Type = ColorConsoleChannel) |
− | :::* '''criticalColor''' : Indique la couleur de message de niveau | + | :::*'''criticalColor''' : Indique la couleur de message de niveau critical (Dans le cas du Type = ColorConsoleChannel) |
− | :::* '''fatalColor''' : Indique la couleur de message de niveau | + | :::*'''fatalColor''' : Indique la couleur de message de niveau fatal (Dans le cas du Type = ColorConsoleChannel) |
+ | <!--T:21--> | ||
:::Couleurs disponibles pour le ColocConsoleChannel : | :::Couleurs disponibles pour le ColocConsoleChannel : | ||
− | ::::* default | + | <!--T:22--> |
− | ::::* black | + | ::::*default |
− | ::::* red | + | ::::*black |
− | ::::* green | + | ::::*red |
− | ::::* brown | + | ::::*green |
− | ::::* blue | + | ::::*brown |
− | ::::* magenta | + | ::::*blue |
− | ::::* cyan | + | ::::*magenta |
− | ::::* gray | + | ::::*cyan |
− | ::::* darkgray | + | ::::*gray |
− | ::::* lightRed | + | ::::*darkgray |
− | ::::* lightGreen | + | ::::*lightRed |
− | ::::* yellow | + | ::::*lightGreen |
− | ::::* lightBlue | + | ::::*yellow |
− | ::::* lightMagenta | + | ::::*lightBlue |
− | ::::* lightCyan | + | ::::*lightMagenta |
− | ::::* white | + | ::::*lightCyan |
+ | ::::*white | ||
+ | |||
+ | ==HttpChannel== <!--T:23--> | ||
− | + | <!--T:24--> | |
− | :::* '''url''' | + | :::*'''url''' |
− | ::::* URL exécuté pour l'envoi des logs | + | ::::*URL exécuté pour l'envoi des logs |
− | :::* '''method''' | + | :::*'''method''' |
− | ::::* POST | + | ::::*POST |
− | ::::* | + | ::::*PUT |
− | :::* '''timeout''' : Timeout de la requette HTTP | + | :::*'''timeout''' : Timeout de la requette HTTP |
− | ::::* valeur en seconde (exemple : '2 | + | ::::*valeur en seconde (exemple : '2') |
− | :::* '''headers''' : Entête HTTP envoyé dans la trame | + | :::*'''headers''' : Entête HTTP envoyé dans la trame |
− | ::::* Authorization : Entête concernant la sécurité HTTP (Exemple : 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTU3MDA4OTIwMX0.xhmD8lCmnJVJs5b6VelcRnSJmoeEABMBf7-A3KdIM1uUbjOstSDAv0c7c8hnL1U54qYnmkiV46L13TSsByuMIQ' | + | ::::*Authorization : Entête concernant la sécurité HTTP (Exemple : 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTU3MDA4OTIwMX0.xhmD8lCmnJVJs5b6VelcRnSJmoeEABMBf7-A3KdIM1uUbjOstSDAv0c7c8hnL1U54qYnmkiV46L13TSsByuMIQ' |
− | ::::* Content-Type : Entête concernant le contenu (Exemple : 'application/json') | + | ::::*Content-Type : Entête concernant le contenu (Exemple : 'application/json') |
− | :::* '''format''' : le format de chaque message de log | + | :::*'''format''' : le format de chaque message de log |
− | ::::* %s - message source | + | ::::*%s - message source |
− | ::::* %t - message text | + | ::::*%t - message text |
− | ::::* %l - message priority level (1 .. 7) | + | ::::*%l - message priority level (1 .. 7) |
− | ::::* %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) | + | ::::*%p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace) |
− | ::::* %q - abbreviated message priority (F, C, E, W, N, I, D, T) | + | ::::*%q - abbreviated message priority (F, C, E, W, N, I, D, T) |
− | ::::* %P - message process identifier | + | ::::*%P - message process identifier |
− | ::::* %T - message thread name | + | ::::*%T - message thread name |
− | ::::* %I - message thread identifier (numeric) | + | ::::*%I - message thread identifier (numeric) |
− | ::::* %N - node or host name | + | ::::*%N - node or host name |
− | ::::* %U - message source file path (empty string if not set) | + | ::::*%U - message source file path (empty string if not set) |
− | ::::* %u - message source line number (0 if not set) | + | ::::*%u - message source line number (0 if not set) |
− | ::::* %w - message date/time abbreviated weekday (Mon, Tue, ...) | + | ::::*%w - message date/time abbreviated weekday (Mon, Tue, ...) |
− | ::::* %W - message date/time full weekday (Monday, Tuesday, ...) | + | ::::*%W - message date/time full weekday (Monday, Tuesday, ...) |
− | ::::* %b - message date/time abbreviated month (Jan, Feb, ...) | + | ::::*%b - message date/time abbreviated month (Jan, Feb, ...) |
− | ::::* %B - message date/time full month (January, February, ...) | + | ::::*%B - message date/time full month (January, February, ...) |
− | ::::* %d - message date/time zero-padded day of month (01 .. 31) | + | ::::*%d - message date/time zero-padded day of month (01 .. 31) |
− | ::::* %e - message date/time day of month (1 .. 31) | + | ::::*%e - message date/time day of month (1 .. 31) |
− | ::::* %f - message date/time space-padded day of month ( 1 .. 31) | + | ::::*%f - message date/time space-padded day of month ( 1 .. 31) |
− | ::::* %m - message date/time zero-padded month (01 .. 12) | + | ::::*%m - message date/time zero-padded month (01 .. 12) |
− | ::::* %n - message date/time month (1 .. 12) | + | ::::*%n - message date/time month (1 .. 12) |
− | ::::* %o - message date/time space-padded month ( 1 .. 12) | + | ::::*%o - message date/time space-padded month ( 1 .. 12) |
− | ::::* %y - message date/time year without century (70) | + | ::::*%y - message date/time year without century (70) |
− | ::::* %Y - message date/time year with century (1970) | + | ::::*%Y - message date/time year with century (1970) |
− | ::::* %H - message date/time hour (00 .. 23) | + | ::::*%H - message date/time hour (00 .. 23) |
− | ::::* %h - message date/time hour (00 .. 12) | + | ::::*%h - message date/time hour (00 .. 12) |
− | ::::* %a - message date/time am/pm | + | ::::*%a - message date/time am/pm |
− | ::::* %A - message date/time AM/PM | + | ::::*%A - message date/time AM/PM |
− | ::::* %M - message date/time minute (00 .. 59) | + | ::::*%M - message date/time minute (00 .. 59) |
− | ::::* %S - message date/time second (00 .. 59) | + | ::::*%S - message date/time second (00 .. 59) |
− | ::::* %i - message date/time millisecond (000 .. 999) | + | ::::*%i - message date/time millisecond (000 .. 999) |
− | ::::* %c - message date/time centisecond (0 .. 9) | + | ::::*%c - message date/time centisecond (0 .. 9) |
− | ::::* %F - message date/time fractional seconds/microseconds (000000 - 999999) | + | ::::*%F - message date/time fractional seconds/microseconds (000000 - 999999) |
− | ::::* %z - time zone differential in ISO 8601 format (Z or +NN.NN) | + | ::::*%z - time zone differential in ISO 8601 format (Z or +NN.NN) |
− | ::::* %Z - time zone differential in RFC format (GMT or +NNNN) | + | ::::*%Z - time zone differential in RFC format (GMT or +NNNN) |
− | ::::* %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) | + | ::::*%L - convert time to local time (must be specified before any date/time specifier; does not itself output anything) |
− | ::::* %E - epoch time (UTC, seconds since midnight, January 1, 1970) | + | ::::*%E - epoch time (UTC, seconds since midnight, January 1, 1970) |
− | ::::* %v[width] - the message source (%s) but text length is padded/cropped to 'width' | + | ::::*%v[width] - the message source (%s) but text length is padded/cropped to 'width' |
− | ::::* %[name] - the value of the message parameter with the given name | + | ::::*%[name] - the value of the message parameter with the given name |
− | ::::* %% - percent sign | + | ::::*%% - percent sign |
::::<u>Exemple de valeur</u> : '{"source":"%s", "date":"%Y-%m-%d %H:%M:%S:%F", "pid":%P, "message":"%t"}' | ::::<u>Exemple de valeur</u> : '{"source":"%s", "date":"%Y-%m-%d %H:%M:%S:%F", "pid":%P, "message":"%t"}' | ||
− | = | + | ==Utilisation des variables Mapping== <!--T:31--> |
+ | ::Les variables Mapping comme MAP_PRINTER ou MAP_JOBNUM sont utilisable dans la configuration YAML. | ||
+ | ::Par exemple, on peut utiliser MAP_PRINTER pour donner à un fichier de log le nom d'une queue: | ||
+ | |||
+ | <!--T:32--> | ||
+ | path: '/apps/mapping/data/[%MAP_PRINTER%].log' | ||
+ | |||
+ | <!--T:33--> | ||
+ | ::Amethyst prends également en compte les variables ajouté avec map_lp mais doivent suivre les règles suivantes: | ||
+ | ::::*La variable doit obligatoirement se trouver dans entre '[%' et '%]' | ||
+ | ::::*La variable ne doit contenir aucun espace. | ||
+ | ::::*Les seuls caractères spéciaux authorisés sont '-' et '_'. | ||
+ | ::::*Si une variable n'est pas retrouvé, elle est effacée. Par exemple, si "[%MY_PARAM%]" n'existe pas, il est remplacé par "". | ||
+ | =Exemple de fichier de configuration= <!--T:25--> | ||
+ | ==Exemple 1== | ||
config: | config: | ||
server: | server: | ||
Ligne 294 : | Ligne 348 : | ||
+ | <!--T:26--> | ||
Fichier de log généré correspondant : | Fichier de log généré correspondant : | ||
Fichier de log /apps/mapping/data/MyLog.log | Fichier de log /apps/mapping/data/MyLog.log | ||
− | # Log file created/rotated Thursday, 19 Sep 19 10:36:18 GMT | + | <!--T:27--> |
+ | # Log file created/rotated Thursday, 19 Sep 19 10:36:18 GMT | ||
[I]2019-09-19 10:36:18:129349 [PID:6881][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml | [I]2019-09-19 10:36:18:129349 [PID:6881][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml | ||
[I]2019-09-19 10:36:18:131010 [PID:6881][THREAD 0] Set PRINTER=MYPRINTERVALUE | [I]2019-09-19 10:36:18:131010 [PID:6881][THREAD 0] Set PRINTER=MYPRINTERVALUE | ||
Ligne 323 : | Ligne 379 : | ||
[I]2019-09-19 10:36:19:287644 [PID:6941][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.000 seconds. | [I]2019-09-19 10:36:19:287644 [PID:6941][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.000 seconds. | ||
− | =Liens utiles= | + | ==Exemple 2 : Fichier de configuration plus détaillé== <!--T:28--> |
+ | |||
+ | <!--T:29--> | ||
+ | config: | ||
+ | server: | ||
+ | port: 7476 | ||
+ | threads: 11 | ||
+ | loggers: | ||
+ | - | ||
+ | source: 'Conversion' | ||
+ | level: 'debug' | ||
+ | channels: | ||
+ | - | ||
+ | type: 'FileChannel' | ||
+ | path: 'C:\Users\jdobbels\Documents\6-M-Designer\KrakenLogs\conversion.log' | ||
+ | rotation: '2 K' | ||
+ | format: '---------[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ||
+ | - | ||
+ | type: 'ConsoleChannel' | ||
+ | format: '[Console] %H:%M:%S [%p] %s: %t' | ||
+ | - source: 'Workflow' | ||
+ | level: 'information' | ||
+ | channels: | ||
+ | - | ||
+ | type: 'FileChannel' | ||
+ | path: '/apps/mapping/mapout/workflow1.log' | ||
+ | rotation: 'daily' | ||
+ | format: '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' | ||
+ | - | ||
+ | type: 'FileChannel' | ||
+ | path: '/apps/mapping/mapout/[%MAP_PRINTER%].log' | ||
+ | rotation: '50 M' | ||
+ | compress: 'true' | ||
+ | purgeCount: '25' | ||
+ | format: '%Y-%m-%d %H:%M:%S:%F %t' | ||
+ | - | ||
+ | type: 'ColorConsoleChannel' | ||
+ | format: '[ColorConsole] %H:%M:%S [%p] %s: %t' | ||
+ | traceColor: 'gray' | ||
+ | debugColor: 'lightcyan' | ||
+ | informationColor: 'lightgreen' | ||
+ | noticeColor: 'lightgreen' | ||
+ | warningColor: 'yellow' | ||
+ | errorColor: 'lightRed' | ||
+ | criticalColor: 'lightred' | ||
+ | fatalColor: 'darkgray' | ||
+ | - | ||
+ | type: 'HttpChannel' | ||
+ | url: 'http://localhost:8080/api/log-mps' | ||
+ | method: 'POST' | ||
+ | timeout: '2 s' | ||
+ | headers: | ||
+ | Content-Type: 'application/json' | ||
+ | format: '{"source":"%s", "date":"%Y-%m-%d %H:%M:%S:%F", "pid":%P, "message":"%t"}' | ||
+ | |||
+ | =Liens utiles= <!--T:30--> | ||
Liste des valeurs dynamiques possibles : https://pocoproject.org/docs/Poco.PatternFormatter.html<br> | Liste des valeurs dynamiques possibles : https://pocoproject.org/docs/Poco.PatternFormatter.html<br> | ||
Liste des couleurs disponibles : https://pocoproject.org/docs/Poco.ColorConsoleChannel.html | Liste des couleurs disponibles : https://pocoproject.org/docs/Poco.ColorConsoleChannel.html | ||
+ | </translate> |
Version actuelle datée du 8 novembre 2019 à 08:45
Sommaire
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 convient de procéder aux modifications suivantes :
mapping.conf
- Aller dans le bloc LOGS
- 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)
- All : 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 la description du fichier de configuration :
config
- config
- 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)
- Workflow
- 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
- source : le nom de la source des logs récupéré par les programmes (`workflow` est le nom du logger du map_809)
FileChannel
- path : indique le chemin du fichier de log généré
- 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...)
- never: no log rotation
- [day,][hh]:mm: the file is rotated on specified day/time day - day is specified as long or short day name (Monday|Mon, Tuesday|Tue, ... ); day can be omitted, in which case log is rotated every day hh - valid hour range is 00-23; hour can be omitted, in which case log is rotated every hour mm - valid minute range is 00-59; minute must be specified
- daily: the file is rotated daily
- weekly: the file is rotated every seven days
- monthly: the file is rotated every 30 days
- <n> minutes: the file is rotated every <n> minutes, where <n> is an integer greater than zero.
- <n> hours: the file is rotated every <n> hours, where <n> is an integer greater than zero.
- <n> days: the file is rotated every <n> days, where <n> is an integer greater than zero.
- <n> weeks: the file is rotated every <n> weeks, where <n> is an integer greater than zero.
- <n> months: the file is rotated every <n> months, where <n> is an integer greater than zero and a month has 30 days.
- <n>: the file is rotated when its size exceeds <n> bytes.
- <n> K: the file is rotated when its size exceeds <n> Kilobytes.
- <n> M: the file is rotated when its size exceeds <n> Megabytes.
- compress : Indique si les anciens fichiers de log doivent être compressés dans un dossier compressé
- false : les fichiers ne sont pas compressés
- true : les fichiers sont compressés
- purgeAge(non implémenté) : Permet la suppression automatique des anciens fichiers de log en fonction de la date de création des fichiers
- <n> seconds : supression des fichiers vieux de <n> secondes.
- <n> minutes : supression des fichiers vieux de <n> minutes.
- <n> hours : suppression des fichiers vieux de <n> heures.
- <n> days : suppression des fichiers vieux de <n> jours.
- <n> weeks : suppression des fichiers vieux de <n> semaines.
- <n> months : suppression des fichiers vieux de <n> mois.
- purgeCount : Permet la suppression automatique des anciens fichiers de log en fonction d'un nombre maximum de fichier.
- <n> : Seul les <n> fichiers (les plus récents) sont conservés.
- <n> : Seul les <n> fichiers (les plus récents) sont conservés.
- format : le format de chaque message de log
- %s - message source
- %t - message text
- %l - message priority level (1 .. 7)
- %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
- %q - abbreviated message priority (F, C, E, W, N, I, D, T)
- %P - message process identifier
- %T - message thread name
- %I - message thread identifier (numeric)
- %N - node or host name
- %U - message source file path (empty string if not set)
- %u - message source line number (0 if not set)
- %w - message date/time abbreviated weekday (Mon, Tue, ...)
- %W - message date/time full weekday (Monday, Tuesday, ...)
- %b - message date/time abbreviated month (Jan, Feb, ...)
- %B - message date/time full month (January, February, ...)
- %d - message date/time zero-padded day of month (01 .. 31)
- %e - message date/time day of month (1 .. 31)
- %f - message date/time space-padded day of month ( 1 .. 31)
- %m - message date/time zero-padded month (01 .. 12)
- %n - message date/time month (1 .. 12)
- %o - message date/time space-padded month ( 1 .. 12)
- %y - message date/time year without century (70)
- %Y - message date/time year with century (1970)
- %H - message date/time hour (00 .. 23)
- %h - message date/time hour (00 .. 12)
- %a - message date/time am/pm
- %A - message date/time AM/PM
- %M - message date/time minute (00 .. 59)
- %S - message date/time second (00 .. 59)
- %i - message date/time millisecond (000 .. 999)
- %c - message date/time centisecond (0 .. 9)
- %F - message date/time fractional seconds/microseconds (000000 - 999999)
- %z - time zone differential in ISO 8601 format (Z or +NN.NN)
- %Z - time zone differential in RFC format (GMT or +NNNN)
- %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything)
- %E - epoch time (UTC, seconds since midnight, January 1, 1970)
- %v[width] - the message source (%s) but text length is padded/cropped to 'width'
- %[name] - the value of the message parameter with the given name
- %% - percent sign
- Exemple de valeur : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t'
ConsoleChannel
- format : le format de chaque message de log
- %s - message source
- %t - message text
- %l - message priority level (1 .. 7)
- %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
- %q - abbreviated message priority (F, C, E, W, N, I, D, T)
- %P - message process identifier
- %T - message thread name
- %I - message thread identifier (numeric)
- %N - node or host name
- %U - message source file path (empty string if not set)
- %u - message source line number (0 if not set)
- %w - message date/time abbreviated weekday (Mon, Tue, ...)
- %W - message date/time full weekday (Monday, Tuesday, ...)
- %b - message date/time abbreviated month (Jan, Feb, ...)
- %B - message date/time full month (January, February, ...)
- %d - message date/time zero-padded day of month (01 .. 31)
- %e - message date/time day of month (1 .. 31)
- %f - message date/time space-padded day of month ( 1 .. 31)
- %m - message date/time zero-padded month (01 .. 12)
- %n - message date/time month (1 .. 12)
- %o - message date/time space-padded month ( 1 .. 12)
- %y - message date/time year without century (70)
- %Y - message date/time year with century (1970)
- %H - message date/time hour (00 .. 23)
- %h - message date/time hour (00 .. 12)
- %a - message date/time am/pm
- %A - message date/time AM/PM
- %M - message date/time minute (00 .. 59)
- %S - message date/time second (00 .. 59)
- %i - message date/time millisecond (000 .. 999)
- %c - message date/time centisecond (0 .. 9)
- %F - message date/time fractional seconds/microseconds (000000 - 999999)
- %z - time zone differential in ISO 8601 format (Z or +NN.NN)
- %Z - time zone differential in RFC format (GMT or +NNNN)
- %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything)
- %E - epoch time (UTC, seconds since midnight, January 1, 1970)
- %v[width] - the message source (%s) but text length is padded/cropped to 'width'
- %[name] - the value of the message parameter with the given name
- %% - percent sign
- Exemple de valeur : [Console] %H:%M:%S [%p]%s: %t
ColorConsoleChannel
- path : indique le chemin du fichier de log généré (Dans le cas du Type = FileChannel)
- Chemin du fichier de log généré
- format : le format de chaque message de log
- %s - message source
- %t - message text
- %l - message priority level (1 .. 7)
- %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
- %q - abbreviated message priority (F, C, E, W, N, I, D, T)
- %P - message process identifier
- %T - message thread name
- %I - message thread identifier (numeric)
- %N - node or host name
- %U - message source file path (empty string if not set)
- %u - message source line number (0 if not set)
- %w - message date/time abbreviated weekday (Mon, Tue, ...)
- %W - message date/time full weekday (Monday, Tuesday, ...)
- %b - message date/time abbreviated month (Jan, Feb, ...)
- %B - message date/time full month (January, February, ...)
- %d - message date/time zero-padded day of month (01 .. 31)
- %e - message date/time day of month (1 .. 31)
- %f - message date/time space-padded day of month ( 1 .. 31)
- %m - message date/time zero-padded month (01 .. 12)
- %n - message date/time month (1 .. 12)
- %o - message date/time space-padded month ( 1 .. 12)
- %y - message date/time year without century (70)
- %Y - message date/time year with century (1970)
- %H - message date/time hour (00 .. 23)
- %h - message date/time hour (00 .. 12)
- %a - message date/time am/pm
- %A - message date/time AM/PM
- %M - message date/time minute (00 .. 59)
- %S - message date/time second (00 .. 59)
- %i - message date/time millisecond (000 .. 999)
- %c - message date/time centisecond (0 .. 9)
- %F - message date/time fractional seconds/microseconds (000000 - 999999)
- %z - time zone differential in ISO 8601 format (Z or +NN.NN)
- %Z - time zone differential in RFC format (GMT or +NNNN)
- %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything)
- %E - epoch time (UTC, seconds since midnight, January 1, 1970)
- %v[width] - the message source (%s) but text length is padded/cropped to 'width'
- %[name] - the value of the message parameter with the given name
- %% - percent sign
- Exemple de valeur : '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t'
- traceColor : Indique la couleur de message de niveau trace (Dans le cas du Type = ColorConsoleChannel)
- informationColor : Indique la couleur de message de niveau information (Dans le cas du Type = ColorConsoleChannel)
- noticeColor : Indique la couleur de message de niveau notice (Dans le cas du Type = ColorConsoleChannel)
- warningColor : Indique la couleur de message de niveau warning (Dans le cas du Type = ColorConsoleChannel)
- criticalColor : Indique la couleur de message de niveau critical (Dans le cas du Type = ColorConsoleChannel)
- fatalColor : Indique la couleur de message de niveau fatal (Dans le cas du Type = ColorConsoleChannel)
- Couleurs disponibles pour le ColocConsoleChannel :
- default
- black
- red
- green
- brown
- blue
- magenta
- cyan
- gray
- darkgray
- lightRed
- lightGreen
- yellow
- lightBlue
- lightMagenta
- lightCyan
- white
HttpChannel
- url
- URL exécuté pour l'envoi des logs
- method
- POST
- PUT
- timeout : Timeout de la requette HTTP
- valeur en seconde (exemple : '2')
- headers : Entête HTTP envoyé dans la trame
- Authorization : Entête concernant la sécurité HTTP (Exemple : 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTU3MDA4OTIwMX0.xhmD8lCmnJVJs5b6VelcRnSJmoeEABMBf7-A3KdIM1uUbjOstSDAv0c7c8hnL1U54qYnmkiV46L13TSsByuMIQ'
- Content-Type : Entête concernant le contenu (Exemple : 'application/json')
- format : le format de chaque message de log
- %s - message source
- %t - message text
- %l - message priority level (1 .. 7)
- %p - message priority (Fatal, Critical, Error, Warning, Notice, Information, Debug, Trace)
- %q - abbreviated message priority (F, C, E, W, N, I, D, T)
- %P - message process identifier
- %T - message thread name
- %I - message thread identifier (numeric)
- %N - node or host name
- %U - message source file path (empty string if not set)
- %u - message source line number (0 if not set)
- %w - message date/time abbreviated weekday (Mon, Tue, ...)
- %W - message date/time full weekday (Monday, Tuesday, ...)
- %b - message date/time abbreviated month (Jan, Feb, ...)
- %B - message date/time full month (January, February, ...)
- %d - message date/time zero-padded day of month (01 .. 31)
- %e - message date/time day of month (1 .. 31)
- %f - message date/time space-padded day of month ( 1 .. 31)
- %m - message date/time zero-padded month (01 .. 12)
- %n - message date/time month (1 .. 12)
- %o - message date/time space-padded month ( 1 .. 12)
- %y - message date/time year without century (70)
- %Y - message date/time year with century (1970)
- %H - message date/time hour (00 .. 23)
- %h - message date/time hour (00 .. 12)
- %a - message date/time am/pm
- %A - message date/time AM/PM
- %M - message date/time minute (00 .. 59)
- %S - message date/time second (00 .. 59)
- %i - message date/time millisecond (000 .. 999)
- %c - message date/time centisecond (0 .. 9)
- %F - message date/time fractional seconds/microseconds (000000 - 999999)
- %z - time zone differential in ISO 8601 format (Z or +NN.NN)
- %Z - time zone differential in RFC format (GMT or +NNNN)
- %L - convert time to local time (must be specified before any date/time specifier; does not itself output anything)
- %E - epoch time (UTC, seconds since midnight, January 1, 1970)
- %v[width] - the message source (%s) but text length is padded/cropped to 'width'
- %[name] - the value of the message parameter with the given name
- %% - percent sign
- Exemple de valeur : '{"source":"%s", "date":"%Y-%m-%d %H:%M:%S:%F", "pid":%P, "message":"%t"}'
Utilisation des variables Mapping
- Les variables Mapping comme MAP_PRINTER ou MAP_JOBNUM sont utilisable dans la configuration YAML.
- Par exemple, on peut utiliser MAP_PRINTER pour donner à un fichier de log le nom d'une queue:
path: '/apps/mapping/data/[%MAP_PRINTER%].log'
- Amethyst prends également en compte les variables ajouté avec map_lp mais doivent suivre les règles suivantes:
- La variable doit obligatoirement se trouver dans entre '[%' et '%]'
- La variable ne doit contenir aucun espace.
- Les seuls caractères spéciaux authorisés sont '-' et '_'.
- Si une variable n'est pas retrouvé, elle est effacée. Par exemple, si "[%MY_PARAM%]" n'existe pas, il est remplacé par "".
- Amethyst prends également en compte les variables ajouté avec map_lp mais doivent suivre les règles suivantes:
Exemple de fichier de configuration
Exemple 1
config: server: port: 7476 threads: 11 loggers: - source: 'Workflow' level: 'information' channels: - type: 'FileChannel' path: '/apps/mapping/data/MyLog.log' rotation: 'daily' format: '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t'
Fichier de log généré correspondant :
Fichier de log /apps/mapping/data/MyLog.log
# Log file created/rotated Thursday, 19 Sep 19 10:36:18 GMT [I]2019-09-19 10:36:18:129349 [PID:6881][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml [I]2019-09-19 10:36:18:131010 [PID:6881][THREAD 0] Set PRINTER=MYPRINTERVALUE [I]2019-09-19 10:36:18:131186 [PID:6881][THREAD 0] Set PRINTERNAME=MYPRINTERNAME [I]2019-09-19 10:36:18:131192 [PID:6881][THREAD 0] Run SET [I]2019-09-19 10:36:18:131247 [PID:6881][THREAD 0] /apps/mapping/data/cmd.sh [I]2019-09-19 10:36:18:152919 [PID:6881][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.010 seconds. [I]2019-09-19 10:36:18:546324 [PID:6901][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml [I]2019-09-19 10:36:18:547191 [PID:6901][THREAD 0] Set PRINTER=MYPRINTERVALUE [I]2019-09-19 10:36:18:547350 [PID:6901][THREAD 0] Set PRINTERNAME=MYPRINTERNAME [I]2019-09-19 10:36:18:547356 [PID:6901][THREAD 0] Run SET [I]2019-09-19 10:36:18:547409 [PID:6901][THREAD 0] /apps/mapping/data/cmd.sh [I]2019-09-19 10:36:18:569399 [PID:6901][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.010 seconds. [I]2019-09-19 10:36:18:943406 [PID:6921][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml [I]2019-09-19 10:36:18:944466 [PID:6921][THREAD 0] Set PRINTER=MYPRINTERVALUE [I]2019-09-19 10:36:18:944615 [PID:6921][THREAD 0] Set PRINTERNAME=MYPRINTERNAME [I]2019-09-19 10:36:18:944620 [PID:6921][THREAD 0] Run SET [I]2019-09-19 10:36:18:944703 [PID:6921][THREAD 0] /apps/mapping/data/cmd.sh [I]2019-09-19 10:36:18:973966 [PID:6921][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.010 seconds. [I]2019-09-19 10:36:19:263098 [PID:6941][THREAD 0] Run file /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml [I]2019-09-19 10:36:19:264103 [PID:6941][THREAD 0] Set PRINTER=MYPRINTERVALUE [I]2019-09-19 10:36:19:264284 [PID:6941][THREAD 0] Set PRINTERNAME=MYPRINTERNAME [I]2019-09-19 10:36:19:264290 [PID:6941][THREAD 0] Run SET [I]2019-09-19 10:36:19:264343 [PID:6941][THREAD 0] /apps/mapping/data/cmd.sh [I]2019-09-19 10:36:19:287644 [PID:6941][THREAD 0] End of the Workflow /apps/mapping/data/conf/rules/workflow/rulesfile.rules.xml.Time = 0.000 seconds.
Exemple 2 : Fichier de configuration plus détaillé
config: server: port: 7476 threads: 11 loggers: - source: 'Conversion' level: 'debug' channels: - type: 'FileChannel' path: 'C:\Users\jdobbels\Documents\6-M-Designer\KrakenLogs\conversion.log' rotation: '2 K' format: '---------[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' - type: 'ConsoleChannel' format: '[Console] %H:%M:%S [%p] %s: %t' - source: 'Workflow' level: 'information' channels: - type: 'FileChannel' path: '/apps/mapping/mapout/workflow1.log' rotation: 'daily' format: '[%q]%Y-%m-%d %H:%M:%S:%F [PID:%P][THREAD %I] %t' - type: 'FileChannel' path: '/apps/mapping/mapout/[%MAP_PRINTER%].log' rotation: '50 M' compress: 'true' purgeCount: '25' format: '%Y-%m-%d %H:%M:%S:%F %t' - type: 'ColorConsoleChannel' format: '[ColorConsole] %H:%M:%S [%p] %s: %t' traceColor: 'gray' debugColor: 'lightcyan' informationColor: 'lightgreen' noticeColor: 'lightgreen' warningColor: 'yellow' errorColor: 'lightRed' criticalColor: 'lightred' fatalColor: 'darkgray' - type: 'HttpChannel' url: 'http://localhost:8080/api/log-mps' method: 'POST' timeout: '2 s' headers: Content-Type: 'application/json' format: '{"source":"%s", "date":"%Y-%m-%d %H:%M:%S:%F", "pid":%P, "message":"%t"}'
Liens utiles
Liste des valeurs dynamiques possibles : https://pocoproject.org/docs/Poco.PatternFormatter.html
Liste des couleurs disponibles : https://pocoproject.org/docs/Poco.ColorConsoleChannel.html