Annexe D : Visualiseur de journaux

Picard tient un journal des événements qui peut s’avérer utile pour le dépannage et la compréhension du comportement de Picard. La visionneuse de journaux vous permet de consulter et de filtrer ces entrées, ainsi que d’exporter le journal vers un fichier afin de le partager avec d’autres ou de le joindre à des rapports de bogues. C’est également ici que vous définissez le niveau de journalisation et que vous sélectionnez les options de débogage à inclure dans le journal pendant la session en cours. Notez que Picard réinitialise automatiquement le niveau de journalisation à la valeur par défaut sélectionnée dans le fichier Options de démarrage à chaque démarrage de Picard, sauf si l’option de ligne de commande --debug est spécifiée ou si la variable d’environnement PICARD_DEBUG est définie.

Visualiseur de journaux

On accède à la visionneuse de journaux via le menu Aide ‣ Afficher le journal d’erreurs/de débogage. Elle affiche les entrées du journal sous forme de tableau comprenant des colonnes pour le niveau du journal, l’horodatage, le module et la méthode (avec le numéro de ligne) à l’origine de l’entrée, ainsi que le message. Le nombre de lignes du journal est indiqué dans le coin inférieur droit de la fenêtre.

Paramètres du journal

Il est possible de contrôler la quantité d’informations enregistrées en définissant le niveau de journalisation et en sélectionnant les options de débogage à inclure dans le journal. Ces paramètres peuvent être configurés directement dans la visionneuse de journaux à l’aide des commandes situées au bas de la fenêtre. Lorsqu’ils sont définis depuis la visionneuse de journaux, le niveau de journalisation et les options de débogage sélectionnés sont immédiatement appliqués.

Le niveau de journalisation peut être défini sur Débogage, et des options de débogage peuvent être configurées pour une session en lançant Picard à l’aide des options de ligne de commande --debug et --debug-opts.

Niveau de journalisation

Le niveau de journalisation activé pour la session en cours est sélectionné à l’aide d’un menu déroulant. Les options disponibles sont Erreur, Avertissement, Informations et Débogage. Les entrées seront enregistrées au niveau sélectionné ou à un niveau supérieur. Par exemple, si vous sélectionnez Avertissement, les entrées Avertissement et Erreur seront enregistrées, mais pas les entrées Débogage ou Informations. En général, il est recommandé de définir le niveau de journalisation sur Informations pour une utilisation normale afin d’éviter une journalisation excessive, et de n’utiliser Débogage que lors du dépannage de problèmes spécifiques pour s’assurer que toutes les entrées de journal sont capturées.

Notez que le niveau de journalisation sélectionné s’applique immédiatement ; ainsi, si vous passez au niveau Avertissement, seuls les événements de niveau Avertissement et Erreur seront consignés à partir de ce moment-là. Toutefois, les entrées de journal enregistrées à un niveau inférieur avant la modification du niveau de journalisation ne seront pas supprimées du journal et resteront visibles dans la visionneuse de journal jusqu’à ce que celui-ci soit effacé. Le niveau de journalisation sera automatiquement réinitialisé à la valeur par défaut sélectionnée dans le fichier Options de démarrage à chaque démarrage de Picard.

Le sélecteur de niveau de journalisation sert également à filtrer les entrées de journal affichées dans la visionneuse de journaux. Si vous réglez le niveau sur Avertissement, seules les entrées de niveau Avertissement et Erreur s’afficheront dans la visionneuse de journaux, même si des entrées plus détaillées sont enregistrées à un niveau inférieur.

Options de débogage

Les différentes options de débogage ont été spécialement conçues pour faciliter le dépannage en permettant la journalisation détaillée d’événements qui ne figureraient normalement pas dans le journal de débogage. Cela peut aider les développeurs à identifier les problèmes et à comprendre le comportement de leurs plugins ou des modifications apportées au code au sein de Picard. Les entrées du journal de débogage sont utiles lorsqu’un utilisateur cherche à déterminer quel plugin modifie les métadonnées, entre autres, mais une journalisation de débogage exhaustive, telle que celle requise pour dépanner un plugin ou une modification de code spécifique, peut s’avérer fastidieuse.

Lorsque Picard est lancé avec une ou plusieurs options de débogage activées à l’aide de l’option de ligne de commande --debug-opts, des informations supplémentaires spécifiques aux options sélectionnées peuvent être consignées dans le journal, en plus des entrées standard. Ces options ne doivent être activées qu’en cas de nécessité pour le dépannage, généralement à la demande d’un développeur enquêtant sur un problème signalé, car elles peuvent générer un volume extrêmement important de données de journalisation. Par défaut, aucune option de débogage n’est activée.

Le menu déroulant Options de débogage vous permet de sélectionner les catégories d’options de débogage à activer, comme si elles avaient été activées via la ligne de commande. Notez que les entrées supplémentaires du journal de débogage ne seront enregistrées que si le niveau de journalisation est défini sur Débogage. Notez également que les entrées détaillées supplémentaires rencontrées avant l’activation des options de débogage ne seront pas enregistrées.

Si vous effectuez un dépannage, il est recommandé de définir le niveau de journalisation sur Débogage et de n’activer que les options de débogage pertinentes demandées par un développeur chargé d’examiner un problème signalé, afin de garantir que toutes les entrées de journal pertinentes soient enregistrées sans générer de données de journalisation superflues.

Filtrage

Lors du dépannage d’un problème, il peut être utile de filtrer les entrées du journal afin de se concentrer sur les informations pertinentes. La visionneuse de journaux propose des commandes permettant de filtrer les entrées du journal en fonction du niveau de journalisation et d’une recherche textuelle.

Affichage des journaux filtré

Les filtres peuvent être combinés pour affiner davantage les entrées du journal. Par exemple, vous pouvez filtrer les résultats pour n’afficher que les entrées de niveau Avertissement et Erreur contenant le mot « plugin », afin de vous concentrer sur les problèmes potentiels liés aux plugins. Une fois le journal filtré, le nombre de lignes actuellement affichées et le nombre total de lignes du journal s’affichent tous deux dans le coin inférieur droit de la fenêtre.

Niveau de journalisation

Le menu déroulant « Niveau de journalisation » permet de sélectionner le niveau à utiliser pour filtrer les entrées du journal. La sélection d’un niveau de journalisation n’affichera que les entrées de ce niveau et des niveaux supérieurs. Par exemple, si vous sélectionnez Avertissement, seules les entrées de type Avertissement et Erreur s’afficheront, mais pas celles de type Débogage ou Informations.

Notez que la modification de ce paramètre modifie également le niveau de journalisation pour la session en cours ; ainsi, si vous réglez le niveau sur Avertissement, seuls les événements de niveau Avertissement et Erreur seront consignés à partir de ce moment-là.

Texte à filtrer

Pour limiter l’affichage des entrées de journal à celles qui contiennent un texte spécifique, vous pouvez saisir une chaîne de caractères dans la zone de texte du filtre située à côté du sélecteur « Options de débogage », puis cliquer sur le bouton Filtrer. Seules les entrées contenant le texte spécifié s’afficheront alors. Le filtre ne tient pas compte de la casse et recherche le texte dans n’importe quelle partie de l’entrée de journal, y compris le niveau de journalisation, l’horodatage, le module, la méthode et le message.

Si vous souhaitez utiliser une expression régulière pour filtrer les entrées du journal, vous devez activer l’option Filtre Regex dans le menu contextuel de la visionneuse de journaux. Pour accéder au menu contextuel, cliquez avec le bouton droit de la souris dans la fenêtre de la visionneuse de journaux. Saisissez l’expression régulière dans la zone de texte, puis cliquez sur le bouton Filtrer. Seules les entrées correspondant à l’expression régulière spécifiée s’afficheront alors.

La syntaxe des expressions régulières est celle du module re de Python, et la recherche tient compte de la casse. Il n’est pas possible de passer des indicateurs d’expression régulière tels que re.IGNORECASE lors de l’utilisation du filtre d’expression régulière, mais vous pouvez utiliser des indicateurs intégrés dans l’expression régulière elle-même, tels que (?i), pour effectuer une recherche insensible à la casse.

Le filtrage s’applique toujours à l’intégralité du journal ; ainsi, certaines lignes peuvent s’afficher en mode compact sans qu’aucun texte ne soit mis en évidence si le filtre correspond à une partie qui n’est pas affichée. Il est possible de consulter tous les détails de la ligne à l’aide de l’action Afficher les détails… dans le menu contextuel de la visionneuse de journaux.

Notez que le bouton Filtre permet d’activer ou de désactiver le filtre de texte.

Détails de l’entrée du journal

Pour consulter les détails d’une entrée du journal, vous pouvez cliquer avec le bouton droit de la souris sur l’entrée dans la visionneuse de journaux, puis sélectionner l’action Afficher les détails…. Une boîte de dialogue s’ouvrira alors, affichant tous les détails de l’entrée du journal, notamment le niveau de journalisation, l’horodatage, le module et la méthode, ainsi que le message.

Détails de l'entrée du journal

Options du menu contextuel

Le menu contextuel de la visionneuse de journaux propose des options supplémentaires pour gérer les entrées du journal. Pour accéder au menu contextuel, cliquez avec le bouton droit de la souris dans la fenêtre de la visionneuse de journaux.

Menu contextuel de la visionneuse de journaux

Les options du menu contextuel sont les suivantes :

  • Afficher les détails… : Affiche les détails de l’entrée de journal sélectionnée. Cette action n’est disponible que lorsqu’une seule entrée de journal est sélectionnée.

  • Copier : Copie la ou les entrées de journal sélectionnées sous forme de texte dans le presse-papiers. Cette action n’est disponible que lorsqu’une ou plusieurs entrées de journal sont sélectionnées.

  • Tout sélectionner : Sélectionne toutes les entrées du journal dans la visionneuse de journaux.

  • Effacer le journal : Efface toutes les entrées du journal. Cela n’aura aucune incidence sur le niveau de journalisation ni sur les options de débogage ; les nouvelles entrées continueront donc d’être enregistrées au niveau sélectionné et avec les options de débogage choisies.

  • Filtre d’expressions régulières : Activez ou désactivez l’utilisation d’expressions régulières pour filtrer les entrées du journal. Lorsque cette option est activée, le texte saisi dans la zone de texte du filtre est traité comme une expression régulière, et les entrées du journal sont filtrées en fonction de leur correspondance avec cette expression. Lorsque cette option est désactivée, le texte saisi dans la zone de texte du filtre est traité comme une chaîne de texte brut, et les entrées du journal sont filtrées en fonction de la présence ou non du texte spécifié.

  • Affichage compact : Active ou désactive le mode d’affichage compact. Lorsque cette option est activée, les entrées du journal s’affichent dans un format plus compact, avec moins d’informations pour chaque entrée. Les informations supprimées des entrées de journal affichées en mode compact comprennent le niveau de journalisation, ainsi que le module et la méthode. Cela peut faciliter la consultation des entrées de journal, mais peut rendre plus difficile la compréhension du contexte de chaque entrée. L’affichage complet d’une entrée peut être obtenu à l’aide de l’action Afficher les détails…. Lorsqu’il est désactivé, les entrées de journal s’affichent au format standard, avec toutes les informations pour chaque entrée.

Enregistrement du journal

La visionneuse de journaux permet d’exporter les entrées du journal vers un fichier texte. Pour enregistrer le journal, cliquez sur le bouton Enregistrer sous… situé en bas de la fenêtre de la visionneuse de journaux. Cela ouvrira une boîte de dialogue dans laquelle vous pourrez indiquer l’emplacement et le nom du fichier journal à enregistrer. Le fichier journal exporté sera au format texte brut et comprendra le niveau de journalisation, l’horodatage, le module et la méthode, ainsi que le message pour chaque entrée du journal. Cela peut être utile pour partager le journal avec d’autres personnes ou pour le joindre à des rapports de bogues lors du dépannage de problèmes avec Picard.

Notez que Enregistrer sous… exportera toutes les entrées du journal, quels que soient les filtres actuellement appliqués dans la visionneuse de journaux. Pour n’exporter qu’une partie du journal, vous pouvez sélectionner les entrées souhaitées dans la visionneuse de journaux, les copier dans le presse-papiers à l’aide de l’action Copier du menu contextuel, puis les coller dans un fichier texte ou un autre document afin de les partager avec d’autres personnes.

Prudence

Même si Picard n’enregistre pas les mots de passe ni d’autres informations de ce type, le fichier journal peut contenir des informations sensibles telles que des chemins d’accès aux fichiers, des noms de plugins et d’autres détails concernant votre système et votre utilisation de Picard. Nous vous recommandons de consulter ce fichier journal et d’en supprimer toute information sensible afin de vous assurer que son contenu ne vous pose aucun problème avant de le partager avec d’autres personnes.