Traçage et enregistrement

Utilisez le traçage pour résoudre un problème de plug-in ou personnaliser l′activité de workflow (code personnalisé). Le traçage aide les développeurs en enregistrant les informations de l′exécution pour diagnostiquer la cause des défaillances de code. Le traçage est pris en charge pour l′exécution synchrone ou asynchrone.

L′enregistrement des informations de traçage à l′exécution pour Microsoft Dataverse est fourni par un service nommé ITracingService. Les informations fournies à ce service par le code personnalisé peuvent être enregistrées dans trois emplacements différents, comme identifié ici.

  • Journal de suivi

    Les enregistrements de journal de traçage sont écrits vers la Table PluginTraceLog. L′écriture sur ces enregistrements est contrôlée par les paramètres de suivi indiqués dans la section Activer la journalisation de traçage.

    Ces données sont disponibles dans les applications basées sur un modèle en accédant à Paramètres et en choisissant la vignette Journal de traçage du plug-in. La vignette est visible uniquement si vous avez accès aux enregistrements de table des journaux de suivi dans le rôle de sécurité qui vous est attribué.

    Vous pouvez trouver plus facile d′afficher ces données avec l′API Web dans votre navigateur à l′aide de l′exemple indiqué dans la section Utiliser le traçage ou en utilisant l′outil de la communauté Visionneuse de suivi de plug-in.

    Important

    La journalisation du suivi occupe de l′espace sur le stockage de l′organisation, surtout lorsque de nombreux suivis et exceptions sont générés. Vous devez activer la journalisation du suivi uniquement pour déboguer et résoudre les problèmes, et la désactiver une fois votre enquête terminée.

  • Boîte de dialogue d′erreur

    Une exécution du plug-in inscrit synchrone ou une activité de workflow personnalisée qui renvoie une exception à la plateforme déclenche une boîte de dialogue d′erreur dans l′application Web qui s′affiche à l′utilisateur connecté. L′utilisateur peut sélectionner le bouton Fichier journal de téléchargement de la boîte de dialogue pour afficher le journal contenant l′exception et le résultat de suivi.

  • Tâche système

    Pour l′exécution des plug-ins inscrits asynchrones ou les activités de workflow personnalisées qui renvoient une exception, les informations de suivi sont affichées dans la zone Détails du formulaire Tâche système de l′application Web.

Activer la journalisation du suivi

L’écriture des journaux de traçage dépend de la valeur de la table Organisationde la valeur de colonne PluginTraceLogSetting. Vous pouvez activer la journalisation du suivi en mettant à jour par programme la valeur PluginTraceLogSetting.

Une deuxième méthode pour activer la journalisation du suivi consiste à utiliser l’application web héritée. Accédez à Paramètres > Administration > Paramètres système. Dans l′onglet Personnalisation, recherchez la liste déroulante nommée Activer la journalisation dans le journal de suivi des plug-ins et sélectionnez l′une des options disponibles. Plus d’informations : Paramètres dans les applications Unified Interface, Paramètres dans les applications clientes web héritées

Une troisième option est disponible dans Plug-in Registration Tool. Après avoir connecté l’outil à votre organisation (environnement), sélectionnez Paramètres > Journalisation dans le journal de suivi du plug-in, puis sélectionnez l’une des options disponibles.

Valeur Option Description
0 Désactivé L′écriture dans le journal de suivi est désactivée. Aucun enregistrement PluginTraceLog ne sera créé. Toutefois, le code personnalisé peut toujours appeler la méthode Trace(String, Object[]) même si aucun enregistrement n′est créé dans un journal.
1 Exceptions Les informations concernant le suivi sont entrées dans le journal si une exception est retournée à la plateforme par le code personnalisé.
2 Tous Les informations concernant le suivi sont entrées dans le journal lorsque le code est exécuté ou lorsqu′une exception est retournée à la plateforme par le code personnalisé.

Si le paramètre de journalisation du suivi est défini sur Exception et si votre code personnalisé renvoie une exception sur la plateforme, un enregistrement de journal de suivi est créé et les informations de suivi sont également entrées à un autre emplacement. Pour un code personnalisé qui s′exécute de façon synchrone, les informations sont présentées à l′utilisateur dans une boîte de dialogue d′erreur, sinon, pour un code asynchrone, les informations sont écrites dans la tâche système associée.

Écrire dans le service de suivi

Avant d′écrire dans le service de suivi, vous devez extraire l′objet de service de suivi du contexte d′exécution transmis. Ensuite, ajoutez simplement les appels Trace(String, Object[]) à votre code personnalisé, lorsqu′il est nécessaire de transmettre les informations de diagnostic appropriées dans cet appel de méthode.

//Extract the tracing service for use in debugging plug-ins.
ITracingService tracingService =
    (ITracingService)serviceProvider.GetService(typeof(ITracingService));

// Use the tracing service 
tracingService.Trace("Write your message here.");

Puis, créez et déployez l′exécution du plug-in ou l′activité de workflow personnalisée. Lors de l’exécution du code personnalisé, les informations fournies dans les appels de méthode Trace sont entrées dans les enregistrements de table des journaux de suivi par ITracingService, si ce dernier est pris en charge par votre organisation et s’il est activé. L’utilisateur y a aussi accès, dans une boîte de dialogue Web ou une tâche système, comme décrit dans la section précédente. Les informations de suivi entrées au journal de suivi sont configurées dans les paramètres de suivi. Pour plus d′informations voir Activer la journalisation du suivi.

Notes

Si votre code personnalisé s’exécute dans la transaction de base de données et si une exception provoque une restauration des transactions, toutes les modifications apportées aux données de table par votre code seront annulées. Toutefois, les enregistrements PluginTraceLog perdurent après la restauration.

Informations supplémentaires sur le service de suivi

ITracingService traite par lots les informations qui lui sont fournies via la méthode Trace. Les informations sont écrites dans un nouvel enregistrement PluginTraceLog lorsque le code personnalisé s′exécute jusqu′à la fin ou qu′une exception est levée.

Chaque appel Trace est enregistré en tant que nouvelle ligne dans la colonne PluginTraceLog MessageBlock. Seuls 10 ko de texte peuvent être écrits. Les lignes de suivi plus anciennes sont supprimées pour respecter cette limite de telle sorte que seules les lignes les plus récentes soient enregistrées.

Les enregistrements PluginTraceLog ont un cycle de vie limité. Une tâche de suppression en bloc en arrière-plan s′exécute une fois par jour pour supprimer les enregistrements créés depuis plus de 24 heures.

Attention

Tandis que cette tâche peut être désactivée ou la fréquence à laquelle elle survient peut être ajustée, l′erreur renvoyée pour la redéfinir sur son paramètre d′origine est fréquemment découverte comme la cause des problèmes de performance à venir.

Outils de la communauté

Visionneuse de suivi de plug-in

Visionneuse de suivi de plug-in est un outil que la communauté XrmToolbox a développé. Consultez la rubrique Outils de la communauté pour Dataverse pour obtenir des outils supplémentaires développés par la communauté.

Notes

Les outils de la communauté ne sont pas un produit de Microsoft et n′étendent pas le support aux outils de la communauté. Si vous avez des questions relatives à cet outil, contactez l′éditeur. Pour plus d′informations : XrmToolBox.

Voir aussi

Plug-ins
Déboguer un plug-in
Afficher les journaux de suivi
Service de traçage
Table PluginTraceLog

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).