Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez le traçage pour résoudre un problème de plug-in ou personnaliser l′activité de workflow (code personnalisé). Le suivi aide les développeurs à enregistrer des informations d’exécution, ce qui facilite le diagnostic de la cause des défaillances de code. Le suivi prend en charge l’exécution synchrone ou asynchrone.
Un service nommé ITracingService enregistre les informations de suivi du runtime pour Microsoft Dataverse. Le code personnalisé peut fournir des informations à ce service, qui peuvent être enregistrées à trois endroits différents :
Journal de suivi
Le système écrit les enregistrements du journal de trace dans la table PluginTraceLog. Les paramètres de trace mentionnés dans Activer la journalisation des traces contrôlent l’écriture de ces enregistrements.
Vous trouverez ces données dans les applications basées sur des modèles en accédant aux paramètres et en choisissant la vignette Journal de suivi du plug-in . La vignette est visible uniquement si le rôle de sécurité qui vous est attribué vous donne accès aux enregistrements de la table du journal de traçage.
Il vous sera peut-être plus facile de consulter ces données à l’aide de l’API Web dans votre navigateur, comme indiqué dans l’exemple de Utiliser le suivi, ou en utilisant l’outil communautaire Plugin Trace Viewer.
Important
La journalisation des traces occupe l’espace de stockage de l’organisation, en particulier lorsqu’elle génère de nombreuses traces et exceptions. Activez uniquement la journalisation des traces pour le débogage et la résolution des problèmes, puis désactivez-la lorsque vous avez terminé.
Boîte de dialogue d′erreur
Un plug-in inscrit synchrone ou une activité de workflow personnalisée qui renvoie une exception provenant de la plateforme entraîne l’affichage d’une boîte de dialogue d’erreur dans l’application web pour l’utilisateur connecté. L′utilisateur peut sélectionner le bouton Télécharger le fichier journal dans la boîte de dialogue pour afficher le journal contenant l′exception et le résultat du suivi.
Tâche système
Pour les plug-ins inscrits pour une exécution asynchrone ou les activités de workflow personnalisées qui génèrent une exception, les informations de suivi s’affichent 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 suivi dépend de la valeur de la colonnePluginTraceLogSetting de la table Organisation. 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. Pour plus d’informations, consultez Paramètres dans les applications d’interface unifiée et les 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 n′est 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 de traçage sont consignées dans le journal si une exception est renvoyée à la plateforme par du 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 vers le service de traçage
Avant d'écrire dans le service de traçage, vous devez d'abord extraire l'objet du service de traçage du contexte d'exécution passé. Ensuite, ajoutez, le cas échéant, des appels à Trace(String, Object[]) dans votre code personnalisé, en transmettant toute information de diagnostic pertinente lors de 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.");
Ensuite, compilez et déployez le plug-in ou l’activité personnalisée de flux de travail. Lors de l’exécution du code personnalisé, les informations fournies dans les appels à la méthode Trace sont consignées dans un enregistrement de la table du journal de suivi par ITracingService, si votre organisation le prend en charge et l’a activé, et peuvent également être mises à la disposition de l’utilisateur 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.
Remarque
Si votre code personnalisé s’exécute dans la transaction de base de données et si une exception provoque une restauration de la transaction, toutes les modifications apportées aux données de table par votre code sont annulées. Toutefois, les enregistrements PluginTraceLog restent une fois la restauration terminée.
Informations supplémentaires sur le service de suivi
Le ITracingService regroupe les informations qu’il reçoit via la méthode Trace. Il écrit les informations dans un nouvel enregistrement PluginTraceLog une fois que le code personnalisé s’exécute correctement ou lève une exception.
Chaque appel Trace est enregistré en tant que nouvelle ligne dans la colonne PluginTraceLogMessageBlock. Vous ne pouvez écrire que 10 Ko de texte. Pour respecter cette limite, le système supprime les lignes de trace plus anciennes afin 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. Pour éviter une croissance excessive de la base de données, Microsoft peut désactiver la journalisation dans le journal de trace de plug-in si la table plugintracelogbase dépasse 100 Go de taille.
Avertissement
Bien que vous puissiez désactiver cette tâche ou ajuster sa fréquence d’exécution, ne pas la remettre à son réglage d’origine peut entraîner des problèmes de performances.
Outils de la communauté
Visualiseur de traces du plugin
Plugin Trace Viewer est un outil développé par la communauté XrmToolBox. Pour obtenir des outils développés par la communauté, consultez l’article Outils de la communauté pour Dataverse .
Remarque
Microsoft ne prend pas en charge les outils de la communauté. Si vous avez des questions sur l’outil, contactez l’éditeur. Pour plus d’informations, consultez XrmToolBox.
Voir aussi
Plug-ins
Déboguer un plug-in
Afficher les journaux de suivi
Service de traçage
Table PluginTraceLog