Téléchargement des produits


Version anglaise


 

La gestion unifiée des traces repose :

  • d'une part sur le Framework slf4j (configuré par défaut avec le binding log4j2)pour la plateforme Java (Java – Web – Cloud) et
  • d'autre part sur le Framework log4c pour les plateformes C/Windows et AS/400.


La gestion des traces permet de recueillir des informations liées à l'exécution d'applications générées avec Adélia Studio.

Ces informations peuvent provenir :

  • des Runtimes d'exécution Adélia (requêtes BD, informations échangées par le Middleware, etc.),
  • des programmes générés (informations internes au générateur ou informations provenant de la génération de l'ordre AJOUTER_TRACE),
  • des librairies applicatives tierces (Frameworks en charge de la consommation ou de la production de services Web par exemple).


La gestion des traces a pour but de récolter des informations :

  • pour s'assurer, après coup, du bon déroulé d'une exécution.
  • pour comprendre les raisons d'une exécution dysfonctionnelle.


Les Frameworks de gestion de traces cités précédemment mettent en œuvre les trois composants suivants :

  • Layout : formatage des messages.
    Voir les fichiers de configuration exemple pour connaître la liste des composants "layout" et les motifs utilisables pour le formatage.
  • Appender : flux recevant les messages (cible de stockage des messages).
    Voir les fichiers de configuration exemple pour connaître la liste des composants "appender" disponibles.
  • Category ou Logger : association entre un émetteur de messages, un niveau de gravité et un ou plusieurs composants "appender". Les niveaux possibles, présentés par ordre décroissant de gravité, sont :

o FATAL

o ERROR

o WARN

o INFO

o DEBUG

o TRACE


Un message est émis par un "logger" si et seulement si son niveau de gravité est supérieur ou égal à celui du "logger".

Par exemple, un message de niveau DEBUG n'est pas pris en compte par un "logger" configuré avec le niveau ERROR.

En revanche, un message de niveau ERROR est envoyé à tous les composants "appender" associés au "logger" configuré avec le niveau "DEBUG".


Ensemble, les trois composants permettent d'émettre des messages, dans un certain format, vers différentes cibles de stockage.


Les composants "category" ou "logger" sont hiérarchisés par leur nom assurant un système d'héritage : l'utilisation du '.' dans le nom délimite un niveau dans la hiérarchie. Par exemple, un "logger" nommé "com.hardis.adelia" hérite des propriétés du "logger" nommé "com.hardis".

Tous les composants "logger" héritent d'un même et unique "logger" nommé "Root" pour log4j2 et "root" pour log4c.

Un composant "logger" hérite du niveau de gravité de son parent.

Un composant "logger" hérite des composants "appender" de son parent. La propriété "additivity" du composant "logger", positionnée à "false", permet -si besoin- d'éviter l'héritage des composants "appender".


Les différents messages de trace proviennent soit des Runtimes Adélia d'exécution, soit des programmes générés, soit des librairies applicatives tierces.


Le langage Adélia permet d'ajouter ses propres traces dans ce mécanisme à l'aide de l'ordre AJOUTER_TRACE. Ce dernier permet d'émettre un message dans un niveau de gravité donné, pour le "logger" par défaut (celui associé au programme) ou pour un "logger" spécifique dont le nom est choisi par l'utilisateur.


Utilisation d'un autre système de log avec Java

Il est possible d'utiliser un autre système de log compatible avec slf4j pour une application Adélia Web ou Adélia Cloud. Pour cela, vous devez supprimer les dépendances (en mode build) ou les jars log4j2 (log4j2-*.jar) et ajouter les dépendances / jars nécessaires au système de log voulu (binding slf4j et librairie de log utilisée).


Les restrictions suivantes s'appliquent si vous utilisez un autre système de log que log4j2 :

  • La configuration des logs par un fichier de config spécifique indiqué dans la configuration de l'application ne fonctionnera pas (un avertissement sera émis si un fichier de configuration est indiqué).
  • Les outils de gestion des logs d'Adélia Cloud (outil de configuration accessible par le bureau et console d'administration Adélia Cloud) ne seront pas disponibles ou inopérants.


Exemple de configuration de build d'une application Adélia Cloud avec logback système de log (exclusion des dépendances log4j2 et ajout des dépendances logback) :

Avec Maven
    <dependencies>
        <dependency>
            <groupId>com.hardis.adelia</groupId>
            <artifactId>adelwagon</artifactId>
            <exclusions>  
                <exclusion>  
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.10</version>
        </dependency>       
        ...
Avec Gradle
configurations.all {
    exclude group: 'org.apache.logging.log4j'
}

dependencies {
    runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.10'
    ...
}


Dans ce cas, les instructions de configuration ci-dessous ne s'appliquent pas.


Cliquez ici pour la configuration de la production de traces.


↑ Haut de page


  • Aucune étiquette