Journalisation et Trace

Le produit possède un composant de journalisation unifié qui traite les messages écrits par le produit et qui fournit un outil de diagnostic de premier niveau.

De plus, le composant de journalisation capture les messages qui sont écrits dans System.out, System.err, java.util.logging et les journaux OSGi. Il unifie le traitement de ces messages avec d'autres messages écrits par le produit. Il ne peut pas capturer les messages qui sont écrits directement par le processus de machine virtuelle Java, comme la sortie -verbose:gc.

Il existe trois fichiers journaux principaux pour un serveur :
  1. console.log - Ce fichier contient les flux de la sortie standard et de l'erreur standard redirigés du processus de machine virtuelle Java. Cette sortie de console est destinée à une utilisation humaine directe. Le composant de journalisation consigne les principaux événements dans le flux de sortie standard et les erreurs dans le flux d'erreur standard si vous utilisez la configuration consoleLogLevel par défaut. Il copie également les messages consignés dans le flux System.out vers le flux de sortie standard et les flux consignés dans le flux System.err vers le flux d'erreur standard si vous utilisez la configuration copySystemStreams par défaut. Les flux de sortie et d'erreur standard contiennent toujours des messages consignés directement par le processus de machine virtuelle Java (tels que les sorties  -verbose:gc). Ce fichier n'est créé que si la commande server start est utilisée et son emplacement peut être modifié via la variable d'environnement LOG_DIR. Pour plus d'informations, voir Administration de Liberty depuis la ligne de commande.
  2. messages.log - Ce fichier contient tous les messages consignés ou capturés par le composant de journalisation. Tous les messages qui sont écrits dans ce fichier contiennent des informations supplémentaires, par exemple l'horodatage du message et l'ID de l'unité d'exécution à l'origine du message. Il ne contient pas les messages qui sont écrits directement par le processus de machine virtuelle Java.
  3. trace.log - Ce fichier contient tous les messages consignés ou capturés par le composant de journalisation ou par une trace supplémentaire. Il n'est créé que si vous activez la trace supplémentaire. Il ne contient pas les messages qui sont écrits directement par le processus de machine virtuelle Java.

Configuration de la journalisation

Vous pouvez contrôler le composant de journalisation via la configuration de serveur. L'emplacement principal de la configuration de journalisation se trouve dans le fichier server.xml. Parfois, il peut être nécessaire de configurer la trace afin de diagnostiquer un problème qui survient avant le traitement du fichier server.xml. Dans ce cas, les propriétés de configuration équivalentes peuvent être spécifiées dans le fichier bootstrap.properties. Si une propriété de configuration est spécifiée dans le fichier bootstrap.properties ainsi que dans le fichier server.xml, la valeur figurant dans le fichier bootstrap.properties est utilisée jusqu'à ce que le fichier server.xml soit traité. Ensuite, la valeur figurant dans le fichier server.xml est appliquée. Evitez de spécifier des valeurs différentes pour une même propriété de configuration dans le fichier bootstrap.properties et le fichier server.xml.
Tableau 1. Propriétés de journalisation pour le composant Liberty. La colonne 1 contient les attributs qui peuvent être définis dans le fichier server.xml. La colonne 2 contient les propriétés équivalentes utilisables dans le fichier bootstrap.properties. La colonne 3 fournit une description de chaque propriété de journalisation.
Attribut Propriété équivalente Description
logDirectory
com.ibm.ws.logging
.log.directory
Vous pouvez utiliser cet attribut pour définir un répertoire pour tous les fichiers journaux, excepté le fichier console.log, mais en incluant les journaux FFDC. Par défaut, logDirectory est associé à la variable d'environnement LOG_DIR. Le chemin par défaut de la variable d'environnement LOG_DIR est WLP_OUTPUT_DIR/serverName/logs.
Eviter les incidents : utilisez la variable d'environnement LOG_DIR ou la propriété com.ibm.ws.logging.log.directory plutôt que l'attribut logDirectory pour configurer le répertoire dans lequel vous voulez que tous les messages soient écrits. Sinon, peu de messages sont initialement écrits dans le répertoire logs par défaut, puis les messages restants sont écrits dans le répertoire indiqué en fonction de votre configuration. L'attribut logDirectory peut être utilisé pour mettre à jour de manière dynamique les journaux dans le répertoire indiqué alors que le serveur est en cours d'exécution.

[17.0.0.1 and later]isoDateFormat

com.ibm.ws.logging.isoDateFormat
Date et l'heure ou format de l'environnement local ou format ISO-8601. Vous pouvez spécifier la valeur true ou false pour l'attribut ou la valeur de la propriété équivalente. La valeur par défaut est false.

Si vous spécifiez la valeur true, le format ISO-8601 est utilisé dans le fichier messages.log, dans le fichier trace.log et dans les journaux de l'outil de diagnostic de premier niveau (FFDC). Le format est le suivant : aaaa-MM-jj'T'HH:mm:ss.SSSZ.

Si vous spécifiez la valeur false, la date et heure suivent le format de l'environnement local défini sur le système. Si l'environnement local par défaut est introuvable, le format est le suivant : jj/MMM/aaaa HH:mm:ss:SSS z.

maxFileSize
com.ibm.ws.logging
.max.file.size
Taille maximale (en mégaoctets) d'un fichier journal avant le roulement. L'environnement d'exécution Liberty procède au roulement des journaux en fonction de la taille uniquement. Pour désactiver cet attribut, définissez la valeur 0. La taille de fichier maximale est approximative. Par défaut, la valeur est 20.
Remarque : maxFileSize ne s'applique pas au fichier console.log.
maxFiles
com.ibm.ws.logging
.max.files
Si une taille de fichier maximale est appliquée, ce paramètre détermine combien de fichiers journaux de chaque type sont conservés. Ce paramètre s'applique également au nombre de journaux des exceptions qui récapitulent les exceptions survenues au cours d'un jour donné. Par conséquent, si la valeur choisie est 10, le répertoire ffdc/ pourra contenir jusqu'à 10 journaux de messages, 10 journaux de trace et 10 journaux récapitulatifs des exceptions. Par défaut, la valeur est 2.
Remarque : maxFiles ne s'applique pas au fichier console.log.
consoleLogLevel
com.ibm.ws.logging
.console.log.level
Ce filtre contrôle la granularité des messages envoyés à la console. Les valeurs admises sont INFO, AUDIT, WARNING, ERROR et OFF. Par défaut, consoleLogLevel est défini sur la variable d'environnement WLP_LOGGING_CONSOLE_LOGLEVEL (si définie) ou sur AUDIT.
copySystemStreams
com.ibm.ws.logging.
copy.system.streams
Si la valeur est true, les messages écrits dans les flux System.out et System.err sont copiés dans console.log. Si la valeur est false, ils sont écrits dans des journaux configurés tels que messages.log ou trace.log, mais ils ne sont pas copiés dans console.log. La valeur par défaut est true.
messageFileName
com.ibm.ws.logging
.message.file.name
Le journal des messages porte le nom par défaut messages.log. Ce fichier existe toujours et contient les messages du niveau INFO et des autres niveaux (AUDIT, WARNING, ERROR, FAILURE), en plus des messages envoyés aux flux standard System.out et System.err. Ce journal contient également des horodatages et l'ID de l'unité d'exécution émettrice. Si le fichier journal est substitué, les noms de fichiers journaux antérieures ont le format messages_horodatage.log
suppressSensitiveTrace   La trace de serveur risque d'exposer des données sensibles lors du suivi de données sans type, tels les octets reçus via une connexion réseau. Si sa valeur est true, cet attribut empêche l'exposition des informations potentiellement sensibles dans les fichiers journaux et de trace. La valeur par défaut est false.
traceFileName
com.ibm.ws.logging
.trace.file.name
Le fichier trace.log est seulement créé si la trace supplémentaire ou détaillée est activée. stdout est considéré comme une valeur spéciale qui a pour effet de diriger la trace vers le flux de sortie standard d'origine.
traceSpecification
com.ibm.ws.logging
.trace.specification
La chaîne de trace est utilisée pour activer la trace de façon sélective. La valeur par défaut est *=info.
traceFormat
com.ibm.ws.logging
.trace.format
Cet attribut contrôle le format du journal de trace. Le format par défaut pour Liberty est ENHANCED. Vous pouvez aussi utiliser les formats BASIC et ADVANCED, comme dans le WebSphere Application Server Traditional.
hideMessage
com.ibm.ws.logging.hideMessage
Vous pouvez utiliser cet attribut pour configurer les messages que vous désirez masquer dans les fichiers console.log et message.log. Si les messages sont configurés pour être masqués, ils sont redirigés vers le fichier trace.log.
[18.0.0.1 and later]messageSource [18.0.0.1 and later]
com.ibm.ws.logging.message.source
[18.0.0.1 and later]Liste des sources séparées par des virgules qui sont acheminées vers le fichier messages.log. Cette propriété s'applique uniquement lorsque messageFormat=json. Les valeurs valides sontmessage, trace, accessLog et ffdc. Par défaut, la variable d'environnement WLP_LOGGING_MESSAGE_SOURCE (si elle est définie) ou la valeur message est affectée au paramètre messageSource.
[18.0.0.1 and later]messageFormat [18.0.0.1 and later]
com.ibm.ws.logging.message.format
[18.0.0.1 and later]Format requis pour le fichier messages.log. Les valeurs valides sont au format basic ou json. Par défaut, la variable d'environnement WLP_LOGGING_MESSAGE_FORMAT (si elle est définie) ou la valeur basic est affectée au paramètre messageFormat.
[18.0.0.1 and later]consoleSource [18.0.0.1 and later]
com.ibm.ws.logging.console.source
[18.0.0.1 and later]Liste des sources séparées par des virgules qui sont acheminées vers la console. Cette propriété s'applique uniquement lorsque consoleFormat=json. Les valeurs valides sontmessage, trace, accessLog et ffdc. Par défaut, la variable d'environnement WLP_LOGGING_CONSOLE_SOURCE (si elle est définie) ou la valeur message est affectée au paramètre consoleSource.
[18.0.0.1 and later]consoleFormat [18.0.0.1 and later]
com.ibm.ws.logging.console.format
[18.0.0.1 and later]Format requis pour la console. Les valeurs valides sont au format basic ou json. Par défaut, la variable d'environnement WLP_LOGGING_CONSOLE_FORMAT (si elle est définie) ou la valeur basic est affectée au paramètre consoleFormat.
Vous pouvez définir des propriétés de journalisation dans le fichier de configuration de serveur en sélectionnant Journalisation et traçage dans la vue Configuration de serveur dans les outils de développement ou en ajoutant un élément de journalisation au fichier de configuration de serveur comme suit :
<logging traceSpecification="*=audit:com.myco.mypackage.*=finest"/>
Format de spécification du niveau de détail du journal :
<component> = <level>

<component> est le composant pour lequel définir un niveau de détail du journal et <level> est l'un des niveaux valides pour le consignateur (off, fatal, severe, warning, audit, info, config, detail, fine, finer, finest, all). Plusieurs spécifications de niveau de détail de journal doivent être séparées par deux points (:).

Avertissement : Pour un consignateur donné, le niveau est déterminé par la spécification de trace la plus spécifique qui s'applique à ce consignateur.
Les composants correspondent aux modules et classes Java™ ou aux collections de modules Java. Utilisez un astérisque (*) comme caractère générique pour indiquer les composants qui comportent toutes les classes de tous les packages contenus par le composant spécifié. Exemple :
*
Indique tout le code traçable qui s'exécute sur le serveur d'application, y compris le code système produit et le code client.
com.ibm.ws.*
Spécifie toutes les classes dont le nom de package commence par com.ibm.ws.
com.ibm.ws.classloader.JarClassLoader
Spécifie uniquement la classe JarClassLoader.
Tableau 2. Niveaux de journalisation valides. Le tableau suivant répertorie les niveaux valides pour les serveurs d'applications sur WebSphere Application Server version 6 et versions ultérieures.
Niveau de journalisation de la version 6 et des versions ultérieures Contenu / Signification
off La journalisation est désactivée.
fatal La tâche ne peut se poursuivre et le composant, l'application et le serveur ne fonctionnent pas.
severe La tâche ne peut se poursuivre mais le composant, l'application et le serveur fonctionnent toujours. Ce niveau peut également indiquer une erreur irrémédiable imminente.
warning Erreur potentielle ou imminente. Ce niveau peut également indiquer un incident progressif (par exemple, la perte éventuelle de ressources).
audit Evénement important qui affecte l'état du serveur ou les ressources
info Informations générales qui présentent la progression globale de la tâche
config Statut ou modification de la configuration
detail Informations générales qui détaillent la progression de la sous-tâche
fine informations de Trace - trace générale + valeurs d'entrée/de sortie et , de retour de la méthode
finer Informations de trace - trace détaillée
finest Informations de trace - Trace détaillée qui inclut les détails nécessaires au débogage des problèmes
all Tous les événements sont consignés. Si vous créez des niveaux personnalisés, le niveau all inclut ces niveaux, et peut fournir une trace plus détaillée que le niveau finest.
Le fichier console.log n'a pas le même niveau de gestion que les autres fichiers journaux. Les seules propriétés que vous pouvez modifier sont consoleLogLevel, consoleSource et consoleFormat. Si vous êtes préoccupé par l'augmentation de la taille du fichier console.log, vous pouvez désactiver le fichier console.log et utiliser le fichier journal des messages à la place. Les mêmes données, dans un format différent, sont écrites pour le fichier journal des messages, et vous pouvez contrôler la taille et le nombre de fichiers journaux des messages à l'aide des attributs maxFileSize et maxFiles. Par exemple, le fichier bootstrap.properties génère un fichier console.log vide et un maximum de trois fichiers loggingMessages.log de 1 Mo en rotation. Toutefois, les messages provenant de la machine virtuelle Java sous-jacente peuvent tout de même être écrits dans le fichier console.log. Les paramètres qui figurent dans le fichier bootstrap.properties sont appliqués lorsque le fichier journal des messages est créé : par conséquent, le fichier journal des messages est créé initialement en tant que loggingMessages.log et non en tant que fichier par défaut messages.log.
   com.ibm.ws.logging.max.file.size=1
   com.ibm.ws.logging.max.files=3
   com.ibm.ws.logging.console.log.level=OFF
   com.ibm.ws.logging.message.file.name=loggingMessages.log
Le fichier console.log est réinitialisé lors du redémarrage du serveur.
Remarque : Sur tous les systèmes d'exploitation, les journaux sont écrits dans le codage par défaut du système.
  • Sur les systèmes z/OS, le fichier console.log utilise la page de codes par défaut et tous les autres fichiers journaux utilisent le codage ISO8859-1 et sont balisés comme des fichiers texte avec ce codage. Si la fonction de conversion de page de codes automatique UNIX System Services (USS) de z/OS est active, vous pouvez utiliser des utilitaires de texte et des éditeurs standard pour afficher et gérer les fichiers de configuration. les fichiers journaux qui sont codés avec ISO8859-1.
[18.0.0.1 and later]Exemples de configuration de la journalisation au format JSON :
  • Pour définir messages.log au format JSON dans le fichier server.xml.
    <logging messageFormat="json" messageSource="message,trace,accessLog,ffdc" />
  • Pour définir la console au format JSON dans le fichier server.env.
    WLP_LOGGING_CONSOLE_FORMAT=json
    WLP_LOGGING_CONSOLE_LOGLEVEL=info
    WLP_LOGGING_CONSOLE_SOURCE=message,trace,accessLog,ffdc
  • Pour définir la console au format JSON dans le fichier bootstrap.properties.
    com.ibm.ws.logging.console.format=json
    com.ibm.ws.logging.console.log.level=info
    com.ibm.ws.logging.console.source=message,trace,accessLog,ffdc

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

Nom du fichier : rwlp_logging.html