Notes
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 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 trouverez plus facile d′afficher ces données à l′aide de l′API web dans votre navigateur en utilisant l′exemple indiqué dans la section Utiliser le suivi 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 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 enregistrés 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 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. 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 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 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 les appels Trace(String, Object[]) à votre code personnalisé, le cas échéant, en transmettant les informations de diagnostic appropriées dans cet appel de la 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 la méthode Trace sont écrites dans un enregistrement de la table du journal de suivi par ITracingService, s’il est pris en charge par votre organisation et activé, et peut également être mis à 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.
Nonte
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 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 PluginTraceLogMessageBlock. Seuls 10 ko de texte peuvent être écrits. Les lignes de suivi plus anciennes sont supprimées pour respecter cette limite 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.
Avertissement
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
La Visionneuse de suivi de plug-in est un outil développé par la communauté XrmToolBox. Consultez la rubrique Outils de la communauté pour Dataverse pour obtenir des outils supplémentaires développés par la communauté.
Nonte
Microsoft n’étend pas la prise en charge 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