Gestion de log pour les plug-ins et activités de workflow personnalisées dans Dynamics CRM

Lorsque nous programmons des plug-ins ou des activités de workflow personnalisées pour le CRM, nous pouvons créer certains bogues. Et la méthode la plus rapide pour diagnostiquer et identifier les causes de ces bogues est de debugger le code. Seulement, dans certains scenarii il est compliqué voire impossible d'utiliser cette méthode, notamment dans le cas d'un CRM online.

Pour cela, Microsoft Dynamics CRM a introduit depuis la version 2015 Update1 une nouvelle fonctionnalité qui offre une solution alternative pour détecter rapidement la cause d'un bogue, qui consiste en enregistrer dans le CRM des informations détaillées sur les exécutions du code personnalisé plug-in ou activités de workflow. Cette fonctionnalité permet en cas de problème de récupérer le détail des erreurs rencontrées ainsi que les informations personnalisées qui ont été tracées dans le code personnalisé à l'aide du service ITracingservice.

Comment utiliser cette nouvelle fonctionnalité ?


Tout d’abord, il va falloir l'activer dans votre organisation, car elle est désactivée par défaut. Pour cela, allez à Paramètres > Administration > Paramètres système :



Ensuite, dans l'onglet Personnalisation, sélectionnez l'option "Exception" dans la liste déroulante Activer la journalisation :



Vous avez la possibilité d'activer le journal de suivi pour capturer des informations sur toutes les exécutions des plug-ins ou uniquement sur les erreurs rencontrées. Les options disponibles sont :
§  Exceptions : pour créer un journal de suivi lorsqu'une exception est retournée par le code personnalisé.
§  Tous : pour créer un journal de suivi lorsque le code est exécuté ou lorsqu'une exception est retournée à la plateforme par le code personnalisé.
§  Désactivé : pour désactiver le journal de suivi.
  
Afin de tester cette fonctionnalité, j'ai créé un simple plugin qui provoque une exception de type InvalidePluginExecution et j'ai également tracé à l'aide du service ITracingService quelques informations que je souhaite récupérer dans le cas d'erreur CRM


Ensuite, j'ai enregistré ce plug-in sur le message Create de l'entité Contact :



Lors de la création d'un nouveau contact, mon plug-in se déclenche et génère une erreur, ce qui donne lieu à la création d'un nouvel enregistrement de journal de suivi. Pour visualiser les enregistrements de journal de suivi, allez à Paramètres > Journaux de suivi du plug-in



Dans l'enregistrement créé, nous retrouvons bien dans le champ Bloc de message tous les messages que j'ai demandé de remonter de mon plug-in à l'aide du service ITracingService . Nous retrouvons aussi dans le champ Détails de l'exception le détail de l'erreur survenue, ainsi que d'autres informations telles que l'heure de l'exécution, la durée de l'exécution, le mode d'exécution… Informations qui sont également remontées dans ce journal de suivi :



De cette manière vous pouvez collecter un maximum d'informations qui vous aideront à analyser et résoudre les bogues de vos développements sans avoir à les débugger.

Enfin, n'oubliez pas que la journalisation du suivi peut rapidement occuper un espace important dans votre base de l'organisation. Pour cela il est recommandé d'activer le suivi uniquement pour déboguer et résoudre les problèmes, et de le désactiver une fois que vos développements sont stables.

J’espère que cet article peut vous être utile.

Aucun commentaire:

Enregistrer un commentaire