Sous-système de journalisation
Le sous-système de journalisation gère différents journaux, tels que le journal de l'application, celui des scripts ou encore celui des communications.
Configuration
Paramètres de rétention du journal
Type de données
Par défaut
Remarques
Taille de fichier max. (Ko)
INTEGER
100000
Lorsque la taille atteint ou dépasse la taille définie, l'événement journalisé suivant déclenche la substitution du fichier par un nouveau et son transfert dans le dossier ThingworxStorage > logs > archives.
Vous pouvez modifier le paramétrage par défaut à l'exécution pour enregistrer immédiatement les modifications.
La taille maximale est de 1 000 000 Ko.
Nbre max. de jours pour archive
INTEGER
7
Les substitutions quotidiennes ne sont pas déclenchées à un horaire fixe, mais dépendent de l'arrivée d'événements de journalisation. Les fichiers commencent à être substitués à minuit tous les jours (uniquement à l'arrivée d'un événement journalisé) et déplacés vers le dossier archives.
Par défaut, dès lors qu'un journal se trouve en archive depuis plus de sept jours, il est supprimé. Vous pouvez modifier la valeur par défaut et régler cette durée entre 1 et 90 jours.
Activer le traçage de la pile
BOOLEAN
false
Lorsque cette option est activée, dès lors qu'une erreur d'appel de service se produit dans l'API Java pour com.thingworx.logging.LogUtilities.logInstanceExceptionDetails, la trace de pile associée est enregistrée dans le fichier ErrorLog.log du dossier ThingworxStorage > logs. Cette fonctionnalité est particulièrement utile pour déboguer les erreurs sur la plateforme.
Activer le traçage de la pile de script
BOOLEAN
true
Lorsqu'une erreur survient dans un script, la trace de pile associée est enregistrée dans le fichier ScriptErrorLog.log du dossier ThingworxStorage>logs. Cette fonctionnalité est particulièrement utile pour déboguer les scripts créés par les utilisateurs de la plateforme.
* 
Par défaut, le délai d'expiration d'un script sur la plateforme ThingWorx est de 30 secondes. Dès lors qu'un script s'exécute plus longtemps que cela, la plateforme met fin à l'exécution. Un administrateur ThingWorx peut configurer le délai d'expiration des scripts dans la section des paramètres de base du fichier de configuration platform-settings.json. Voir aussi la rubrique Détails de la configuration du fichier platform-settings.json.
Dans ThingWorx Platform, si une erreur se produit et persiste, les journaux sont générés et imprimés dans les fichiers journaux respectifs, tels que l'application, le script et la base de données. Il est également constaté qu'une erreur persiste pendant une période plus longue, ce qui inonde les fichiers journaux d'entrées similaires.
Pour répondre à ce scénario, les configurations suivantes sont introduites :
Prérequis
Ajoutez le filtre suivant dans le fichier platform-settings.json.
<turboFilter class="com.thingworx.logging.RepetitiveLogFilterTest">
</turboFilter>
Paramètres répétitifs de filtre de journal
Type de données
Valeur par défaut
Remarques
Activer le filtrage du journal
BOOLEAN
false
Pour activer ou désactiver le filtrage du journal.
Taille du cache
INTEGER
2000
Taille du cache permettant de stocker des entrées uniques à la fois.
Répétitions autorisées
INTEGER
10
Nombre d'entrées répétitifs pouvant être journalisées (première occurrence non comptée dans la répétition).
Expiration après secondes d'écriture
INTEGER
300
Durée en secondes pour continuer de journaliser les répétitions autorisées.
Inclure les packages pour le filtrage
STRING
Liste séparée par des virgules des packages à inclure pour le filtrage.
* 
Le filtrage des journaux s'applique uniquement aux entrées d'avertissements ou d'erreurs dans les packages configurés sous Inclure les packages pour le filtrage.
La modification de la valeur du paramètre Activer le filtrage du journal sur true et l'ajout de noms de packages au paramètre Inclure les packages pour le filtrage activent le suivi des entrées d'avertissement ou d'erreurs répétitives.
Toute modification apportée au paramètre de configuration mentionné précédemment réinitialise les entrées en cache. Le suivi des erreurs ou avertissements associés aux packages configurés redémarre.
Les répétitions des erreurs ou avertissements des journaux sont suivies à l'aide du paramètre de configuration Répétitions autorisées. Les erreurs ou avertissements ne sont imprimés que dans la limite des valeurs configurées.
L'impression des entrées d'erreurs ou d'avertissements est interrompue après le nombre de répétitions configuré et jusqu'à l'expiration mentionnée dans le paramètre de configuration Expiration après secondes d'écriture.
Les nombres ignorés et les nombres journalisés de détails répétitifs sont journalisés au moyen d'un journal de débogage.
Vous devriez pouvoir configurer le ou les packages avec une liste de valeurs séparées par des virgules. Dans les packages mentionnés, les erreurs et les avertissements seront suivis.
Les paramètres répétitifs de filtre de journal nécessitent que le nom complet du package soit mentionné dans Inclure les packages pour le filtrage. Par exemple, com.thingworx.system.subsystems.filetransfer est acceptable, mais pas com.thingworx.system.subsystems ni com.thingworx.system.
Lorsque vous définissez le niveau de journalisation sur Débogage ou Trace, le volume d'entrées augmente de façon exponentielle dans les journaux correspondants. Les configurations suivantes ont été introduites dans LoggingSubsystem pour réinitialiser le niveau de journalisation après l'intervalle mentionné :
Paramètres de réinitialisation automatique du niveau de journal
Type de données
Valeur par défaut (en secondes)
Remarques
Intervalle de réinitialisation de trace global en secondes
Integer
600
Si le niveau de journalisation par défaut est remplacé par Trace pour un journal (par exemple, ApplicationLoget ScriptLog), l'intervalle de temps mentionné se comporte comme une minuterie. Une fois la minuterie désactivée, le niveau de journalisation revient au niveau précédemment défini.
Intervalle de réinitialisation de débogage global en secondes
Integer
600
Si le niveau de journalisation par défaut est remplacé par Débogage pour un journal (par exemple, ApplicationLog et ScriptLog), l'intervalle de temps mentionné se comporte comme une minuterie. Une fois la minuterie désactivée, le niveau de journalisation revient au niveau précédemment défini.
Intervalle de réinitialisation de débogage de sous-journal en secondes
Integer
3600
Si un package de sous-journal est défini sur le niveau TRACE, l'intervalle de temps mentionné se comporte comme une minuterie. Une fois la minuterie désactivée, le niveau de journalisation est réinitialisé sur le niveau par défaut pour le sous-journal correspondant.
Cette configuration permet de contrôler l'augmentation exponentielle du volume d'entrées.
Intervalle de réinitialisation de trace de sous-journal en secondes
Integer
3600
Si un package de sous-journal est défini sur le niveau DEBUG, l'intervalle de temps mentionné se comporte comme une minuterie. Une fois la minuterie désactivée, le niveau de journalisation est réinitialisé sur le niveau par défaut pour le sous-journal correspondant.
Cette configuration permet de contrôler l'augmentation exponentielle du volume d'entrées.
* 
Si le serveur ThingWorx Platform ou tous les noeuds redémarrent, l'intervalle de réinitialisation mentionné pour le journal global et le sous-journal redémarre.
Le niveau de journalisation Tout a le même effet que le niveau Trace pour la fonctionnalité de réinitialisation. Il ne dispose pas d'une minuterie distincte et suit les intervalles des niveaux Trace du journal global et du sous-journal.
Est-ce que cela a été utile ?