Activer et configurer Log4j - 8.0

Guide d'utilisation de Talend Big Data Platform Studio

Version
8.0
Language
Français (France)
EnrichDitaval
Big Data Platform
Product
Talend Big Data Platform
Module
Studio Talend
Content
Création et développement

Le Studio Talend inclut Log4j, l'utilitaire de log d'Apache. Cet utilitaire fournit des informations de log à l'exécution. Vous pouvez activer ou désactiver Log4j pour les composants et personnaliser sa configuration sur tout le projet.

Avertissement : Relativement au problème de sécurité Log4j 2 (CVE-2021-44228), assurez-vous de désactiver tous les loggers Log4j lorsque vous exécutez des Jobs Spark Batch et Spark Streaming avec les distributions Dataproc 2.x, Azure Synapse et HD Insight 4.0.

Pour éviter tout échec de Job, décochez la case Activate log4j in components dans la vue Log4j dans File > Edit Project Properties > Project Settings ou décochez la case log4jLevel dans la vue Advanced settings de votre Job Spark.

Procédure

  1. Cliquez sur dans la barre d'outils de la fenêtre du Studio ou cliquez sur File > Edit Project Properties dans la barre du menu pour ouvrir la boîte de dialogue Project Settings.
  2. Dans l'arborescence de la boîte de dialogue, cliquez sur le nœud Log4j afin d'ouvrir la vue Log4j.
  3. Cochez la case Activate log4j in components pour activer la fonctionnalité Log4j.

    Par défaut, la fonction Log4j est activée et lorsqu'un projet est créé, Log4j 2 est activé.

    Lorsqu'un projet est importé à partir d'une version Talend 7.2 ou précédente, qui supporte uniquement Log4j 1, une liste déroulante Log4j version est affichée et Log4j déprécié est sélectionné par défaut. Tous les fichiers POM pour le projet sont synchronisés lorsque vous modifiez la version de Log4j.

  4. Modifiez la configuration globale de Log4j en modifiant les instructions XML dans la zone Log4j template.
    Par exemple, pour configurer le log racine de Log4j 2, pour écrire tous les messages de niveau debug ou supérieur, allez dans la zone Loggers et configurez la valeur de l'attribut level du nœud root à debug.

    Si vous avez installé la mise à jour mensuelle 8.0 R2022-09 du Studio ou une mise à jour plus récente fournie par Talend, le MDC Log4j 2 (Mapped Diagnostic Context) est alimenté avec les paires clé-valeur. Ces attributs de log supplémentaires vous permettent d'identifier aisément dans quel thread les données de log sont générées lorsque tous les messages de log provenant de plusieurs threads sont écrits dans un seul fichier. Pour plus d'informations concernant Log4j 2 MDC, consultez Log4j 2 API - Thread Context (en anglais).

    Pour inclure tous les attributs de log supplémentaires lors de l'écriture des logs, ajoutez %X dans la section PatternLayout.

    <PatternLayout pattern="[%-5level] %d{HH:mm:ss} %logger{36}- %X %msg%n" />

    Pour inclure des attributs de log spécifiques lors de l'écriture des logs, ajoutez %X{key} %X{key2} ... %X{keyN} dans la section PatternLayout, où {keyN} est la clé de l'attribut de log correspondant. Vous pouvez également utiliser des caractères comme la virgule pour séparer les attributs, afin de les identifier clairement. L'exemple suivant inclut les attributs _pid et _startTimestamp lors de l'écriture des logs.

    <PatternLayout pattern="[%-5level] %d{HH:mm:ss} %logger{36}- %X{_pid}, %X{_startTimestamp} %msg%n" />

    Pour plus d'informations concernant la configuration de Log4j 2, consultez http://logging.apache.org/log4j/2.x/manual/configuration.html#XML.

    Pour plus d'informations concernant la configuration de Log4j 1, consultez https://cwiki.apache.org/confluence/display/LOGGINGLOG4J/Log4jXmlFormat.