tLogCatcher - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Les composants tDie et tWarn sont étroitement liés au composant tLogCatcher. Ils sont généralement utilisés ensemble afin que les données de log collectées par le tLogCatcher soient rassemblées et envoyées vers la sortie définie.

Fonction

Le composant tLogCatcher récupère les champs et les messages des fonctions Java Exception et des composants tDie et/ou tWarn et les transmet au composant suivant.

Objectif

Ce composant fonctionne comme une fonction de log déclenchée par une des trois fonctions suivantes : Java exception, tDie ou tWarn, pour collecter et transférer des données de log.

Propriétés du tLogCatcher

Famille du composant

Logs & Errors

 

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant.

Le schéma de ce composant est en lecture seule. Ce schéma décrit les propriétés des données de log. Vous pouvez cliquer sur le bouton [...], à côté de Edit schema, afin de voir le schéma prédéfini contenant les champs suivants :

  • moment : le moment où un message est capturé.

  • pid : l'identifiant de processus du Job.

  • root_pid : l'identifiant de processus racine.

  • father_pid : l'identifiant de processus père.

  • project : le nom du projet.

  • job : le nom du Job.

  • context : le contexte utilisé pour exécuter le Job.

  • priority : le niveau de priorité du message.

  • type : le type du message.

  • origin : le nom du composant qui déclenche le message.

  • message : le contenu du message.

  • code : le niveau du code d'erreur.

 

Catch Java Exception

Cochez cette case pour déclencher la fonction tCatch lorsque la fonction Java Exception est appelée dans le Job.

 

Catch tDie

Cochez cette case pour déclencher la fonction tCatch lorsque le composant tDie est appelé dans le Job.

 

Catch tWarn

Cochez cette case pour déclencher la fonction tCatch lorsque le composant tWarn est appelé dans le Job.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est généralement utilisé comme composant de début dans un Job secondaire qui est déclenché automatiquement à la fin du Job principal.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Capturer les messages déclenchés par un composant tWarn

Cet exemple vous montre comment utiliser le composant tLogCatcher afin de capturer les messages déclenchés par un composant tWarn.

Créer un Job afin de capturer les messages déclenchés par un composant tWarn

Créez un Job afin de déclencher des messages à l'aide du composant tWarn, de capturer ensuite les messages en utilisant le composant tLogCatcher et d'afficher les messages dans la console.

  1. Créez un nouveau Job et ajoutez un composant tRowGenerator, un composant tWarn, un composant tLogCatcher et un composant tLogRow en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette.

  2. Reliez le composant tRowGenerator au composant tWarn à l'aide d'un lien Row > Main.

  3. Reliez le composant tLogCatcher au composant tLogRow à l'aide d'un lien Row > Main.

Configurer un Job pour capturer les messages déclenchés par un composant tWarn

Configurez les composants dans le Job capturant les messages déclenchés par le composant tWarn et affichant par la suite les messages dans la console.

  1. Double-cliquez sur le composant tRowGenerator afin d'ouvrir l'éditeur Row Generator.

  2. Définissez le schéma en ajoutant une colonne id de type Integer et sélectionnez la fonction Numeric.sequence(String,int,int) prédéfinie dans la colonne Functions.

  3. Saisissez le nombre de lignes à générer dans le champ Number of Rows for RowGenerator, 3 dans cet exemple. Cela fait, cliquez sur OK pour fermer la boîte de dialogue.

  4. Double-cliquez sur le composant tWarn afin d'ouvrir sa vue Basic settings.

  5. Sélectionnez Info dans la liste déroulante Priority.

  6. Dans le champ Warn message, saisissez le message à déclencher lorsqu'un nouvel enregistrement est généré, a new record is generated dans cet exemple.

  7. Double-cliquez sur le composant tLogCatcher pour ouvrir sa vue Basic settings.

  8. Cochez la case Catch tWarn afin de capturer les messages déclenchés par un composant tWarn.

  9. Double-cliquez sur le composant tLogRow afin d'ouvrir sa vue Basic settings. Sélectionnez ensuite Table (print values in cells of a table) dans la zone Mode pour obtenir une meilleure lisibilité des résultats.

Exécuter un Job pour capturer les messages déclenchés par un composant tWarn

Une fois le Job et ses composants configurés pour capturer les messages déclenchés par le composant tWarn, vous pouvez exécuter le Job et vérifier les résultats de son exécution.

  1. Appuyez sur Ctrl + S pour sauvegarder le Job.

  2. Appuyez sur F6 pour l'exécuter.

    Comme affiché ci-dessus, tous les messages déclenchés sont collectés et affichés dans la console.

Capturer le message déclenché par un composant tDie

Cet exemple vous montre comment utiliser un composant tLogCatcher pour capturer le message déclenché par un composant tDie.

Créer un Job pour capturer le message déclenché par un composant tDie

Créez un Job afin de déclencher un message à l'aide du composant tDie, de capturer ensuite le message en utilisant le composant tLogCatcher et d'afficher le message dans la console.

  1. Créez un nouveau Job et ajoutez un composant tRowGenerator, un tFileOutputDelimited, un tDie, un tJava, un tLogCatcher et un composant tLogRow en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette.

  2. Reliez le composant tRowGenerator au composant tFileOutputDelimited à l'aide d'un lien Row > Main.

  3. Reliez le composant tFileOutputDelimited au tDie à l'aide d'un lien Trigger > Run if.

  4. Reliez le composant tRowGenerator au tJava à l'aide d'un lien Trigger > On Subjob Ok.

  5. Reliez le composant tLogCatcher au composant tLogRow à l'aide d'un lien Row > Main.

Configurer un Job pour capturer le message déclenché par un composant tDie

Configurez les composants dans le Job capturant le message déclenché par le composant tDie et affichant par la suite le message dans la console.

  1. Double-cliquez sur le composant tRowGenerator afin d'ouvrir l'éditeur Row Generator.

  2. Définissez le schéma en ajoutant une colonne id de type Integer et sélectionnez la fonction Numeric.sequence(String,int,int) prédéfinie dans la colonne Functions.

  3. Saisissez le nombre de lignes à générer dans le champ Number of Rows for RowGenerator, 0 dans cet exemple. Cela fait, cliquez sur OK pour fermer la boîte de dialogue.

  4. Double-cliquez sur le composant tFileOutputDelimited afin d'ouvrir sa vue Basic settings. Spécifiez ensuite dans le champ File Name, le chemin d'accès au fichier qui contiendra les données à générer.

  5. Cliquez sur la connexion If et, dans le champ Condition dans la vue Basic settings, spécifiez la condition déclenchant le composant tDie. Dans cet exemple, spécifiez la condition ((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) <=0, ce qui signifie que le composant tDie se déclenche lorsque le nombre de lignes à générer est inférieur ou égal à zéro.

  6. Double-cliquez sur le composant tDie afin d'ouvrir sa vue Basic settings et, dans le champ Die message, saisissez le message à déclencher avant que le Job ne soit arrêté. Dans cet exemple, no row generated.

  7. Double-cliquez sur le composant tJava afin d'ouvrir sa vue Basic settings et, dans le champ Code, saisissez

    System.out.println("The number of rows generated is " + ((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) + ". #This message will not be displayed if no row is generated.");

    Notez que ce message s'affiche uniquement lorsque le nombre de lignes généré est supérieur à zéro. Dans cet exemple, le nombre de lignes à générer est 0 : le Job sera donc arrêté et ce message ne s'affichera pas.

  8. Double-cliquez sur le composant tLogCatcher afin d'ouvrir sa vue Basic settings et cochez la case Catch tDie pour capturer le message déclenché par le tDie.

  9. Double-cliquez sur le composant tLogRow afin d'ouvrir sa vue Basic settings, sélectionnez Table (print values in cells of a table) dans la zone Mode pour obtenir une meilleure lisibilité du résultat.

Exécuter un Job pour capturer le message déclenché par un composant tDie

Une fois le Job et ses composants configurés pour capturer le message déclenché par le composant tDie, vous pouvez exécuter le Job et vérifier les résultats de son exécution.

  1. Appuyez sur Ctrl + S pour sauvegarder le Job.

  2. Appuyez sur F6 pour l'exécuter.