Affichage des journaux de travaux Java Batch

Lorsque vous exécutez des travaux Java Batch dans WebSphere Application Server Liberty, un journal est écrit pour chaque travail.

Les journaux sont créés dans la structure de répertoire suivante :

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID

Avertissement : La variable job name est l'attribut id de l'élément job au sein du document JSL (XML). Elle n'est pas nécessairement associée au nom du fichier JSL.
La désignation des journaux démarre à part.1.log et revient si nécessaire à de nouvelles parties de journal. Par défaut, le journal de travail contient tous les messages et les informations de trace qui sont consignés sur le serveur par l'unité d'exécution qui exécute le travail. La sortie qui n'est pas consignée dans l'infrastructure java.util.logging n'est pas collectée.
Important : Si une nouvelle partie de journal ne peut pas être créée, effectuez des tentatives par lots afin de poursuivre le traitement sans journal ou avec la partie de journal en cours.

Pour plus d'informations sur l'extraction ou la suppression de journaux de travaux à l'aide de l'API REST, voir la documentation REST API administration.

Important : Si vous utilisez l'API log4j, les applications qui utilisent l'infrastructure log4j peuvent participer à la consignation des travaux par lots en utilisant org.apache.log4j.jul.JULAppender. JULAppender réachemine les enregistrements de journal log4j vers l'infrastructure java.util.logging, où ils sont collectés pour la consignation des travaux.

Configuration de la consignation des travaux

La journalisation des travaux par lots peut être configurée à l'aide de l'élément de configuration <batchJobLogging> <batchJobLogging enabled="true" maxRecords="1000" />.

L'attribut maxRecords indique le nombre d'enregistrements qui sont écrits dans une partie du journal de travail avant que les enregistrements se remettent à zéro dans la partie suivante.

La fonction par lots utilise un consignateur nommé com.ibm.ws.batch.JobLogger pour la consignation de certains messages par lots dans le journal de travail uniquement. Il peut s'agir, par exemple, de messages de cycle de vie de travail et de message de point de contrôle. Le consignateur n'écrit pas dans le journal serveur. Par défaut, le consignateur est activé pour les messages Level.FINE. Vous pouvez configurer le niveau du consignateur en l'indiquant dans la spécification de trace du serveur. Par exemple, <logging traceSpecification="*=info:com.ibm.ws.batch.JobLogger=all" />.

Les messages de journal qui sont écrits par l'unité d'exécution du travail, y compris les messages qui sont écrits par l'environnement d'exécution et par le code d'application, sont écrits à la fois dans l'historique de travail et dans le journal serveur.

Les fichiers System.out et System.err sont écrits uniquement dans le journal serveur mais pas dans le journal de travail.

Etapes partitionnées

Les étapes partitionnées comportent d'autres sous-répertoires pour chaque partition. Les fichiers journaux du répertoire execution ID contiennent des entrées de l'n qui exécute le travail de niveau supérieur. Les journaux de travaux pour les partitions sont stockés avec la structure suivante :

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID/nom de l'étape partitionné/numéro de partition

Important : Un répertoire est créé dans le répertoire nom de l'étape partitionné pour chaque partition.

Flux de fractionnement

Si un flux de fractionnement se produit dans le travail, d'autres répertoires sont créés afin de capturer la sortie de l'unité d'exécution de chaque flux. Les fichiers journaux qui se trouvent dans le répertoire execution ID contiennent des entrées de l'n qui exécute le travail de niveau supérieur. Les journaux de travaux pour les unités d'exécution de flux sont stockés avec la structure suivante :

log directory/joblogs/job name/date/instance.job instance ID/execution.execution ID/split ID/flow ID

Important : Un répertoire est créé dans le répertoire split ID de chaque flux.

Evénements du journal des travaux

Si les événements de travail par lots sont activés, les événements du journal des travaux sont publiés lorsqu'une partie du journal est terminée et lorsqu'un travail passe à un état arrêté, tel qu'arrêté, échec ou terminé. Les messages d'événements du journal des travaux contiennent plusieurs propriétés JSON facilitant l'identification du message, ainsi que le contenu réel du fichier journal de travaux.

Important : Les propriétés JSON font partie du corps du message JMS et peuvent être extraites en convertissant son texte en objet Json et en extrayant la propriété JSON spécifique depuis cet objet.
L'exemple suivant illustre comment extraire la propriété de contenu du journal de travaux.
//The retrieved job log event message
Message msg
//Convert the Message to a TextMessage
TextMessage txtMsg = (TextMessage) msg;
//Convert the text in the message to a JsonObject
JsonObject jobLogEventObject = Json.createReader(new StringReader(txtMsg.getText())).readObject();
//Pull the job log text content from the JsonObject as an example
JsonArray logContentArray = jobLogEventObject.getJsonArray("contents");

Pour plus d'informations sur l'activation des événements de travail par lots, voir Activation de la publication d'événements de travail par lots.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwlp_batch_view_joblog
Nom du fichier : rwlp_batch_view_joblog.html