top of page

Améliorer le debug log de Salesforce

Vous n'arrivez pas à déboguer facilement Salesforce ? On vous donne quelques pistes solides pour s'en sortir facilement !



Pour toute personne mettant en œuvre ou prenant en charge une application, vous avez probablement réalisé qu'aucun système ne fonctionne parfaitement. Il peut arriver à un moment donné, des erreurs ou des problèmes peuvent survenir. Ce sont souvent des bogues techniques ou des erreurs de l'utilisateur comme le non respect d'une règle.


Nous pouvons utiliser une solution de journalisation robuste (Logger) pour aider à surveiller et rechercher ces situations ; en enregistrant les erreurs système, les avertissements et d'autres détails au niveau de l'information, on garde un œil sur ce qui se passe dans le système.


Cela nous permet de trouver et de résoudre de manière proactive tous les problèmes, au lieu de compter sur les utilisateurs pour signaler les problèmes eux-mêmes. On revient ainsi rapidement et facilement sur les soucis rencontrés plutôt que d'attendre un retour des utilisateurs ⭐.


 

Différentes façons d'utiliser le journal de débogage en fonction des rôles


  • En tant que développeur en créant une application personnalisée, vous pouvez utiliser le journal de débogage pour valider le comportement de l'application. Par exemple, vous pouvez définir le filtre du journal de déblocage afin de contrôler les appels externes. Dans le journal de débogage généré, vous pouvez consulter des informations sur la réussite et la durée de ces appels.

  • En tant qu'administrateur d'une organisation, vous pouvez utiliser le journal de débogage pour des opérations de dépannage lorsqu'un utilisateur signale une difficulté. Définissez un indicateur de trace sur l'utilisateur, demandez à l'utilisateur de parcourir la transaction erronée, puis utilisez le journal de débogage pour examiner les détails du système.


Les solutions natives comme l'Audit Trail ou les systèmes debug ne permettent cependant pas toujours d'obtenir assez de contexte.

 

Déboguer facilement Salesforce à l'aide de différentes structures



Logger (MetLilium)


Logger est une nouvelle structure de journalisation. Elle permet d'ajouter la journalisation à vos personnalisations qui peuvent ensuite être enregistrées dans un ou plusieurs référentiels de journalisation, en fonction de la façon dont vous le configurez.

Elle prend en charge l'enregistrement des journaux dans le journal de débogage, un objet personnalisé de journal et/ou dans Loggly, un service de journalisation SAAS distinct.

Il est aussi possible via cette structure d'implémenter sa propre logique de persistance pour enregistrer les journaux là où ils sont nécessaires.


Le but de Logger est de vous permettre de surveiller les journaux pour voir non seulement les erreurs qui se produisent mais aussi comment les personnalisations sont utilisées ou non.


Actuellement, Logger est disponible sur les environnements de sandbox uniquement.


Sa configuration


La configuration de Salesforce Logger s'effectue via les enregistrements de configuration de journal. Chaque enregistrement spécifie une classe apex qui est utilisée pour enregistrer les journaux quelque part et si elle est activée ou non.


Cela permet de spécifier un ou plusieurs endroits où les journaux peuvent être enregistrés.

Dans la version actuelle, il est possible d'enregistrer des journaux dans le journal de débogage de Salesforce, un objet personnalisé Log inclus dans le package, et d'envoyer les logs dans le service externe Loggly, un service de journalisation doté d'un niveau gratuit et payant.


Pour aller plus loin, il est possible de rajouter du développement custom pour enregistrer les journaux d'une manière différente. Voir "Créer votre propre Log Saver" ci-dessous pour plus d'informations.


Enregistrement dans le journal de débogage


Copiez le code CustomDebugLogSaver ci-dessous et créez la classe dans votre organisation.


code d'enregistrement dans le journal de débogage
code d'enregistrement dans le journal de débogage

Ensuite, la configuration du journal doit être créée afin que les journaux puissent utiliser cette classe pour enregistrer les journaux dans le journal de débogage.

  1. Ouvrez l'onglet Configurations des journaux.

  2. Cliquez sur Nouveau.

  3. Entrez "CustomDebugLogSaver" pour le champ Log Saver Class.

  4. Cliquez sur Enregistrer.

Quand ceci a été fait, tous les journaux apparaîtront dans les journaux de débogage lorsque les journaux de débogage sont activés.




Nebula Logger


Il est conçu pour tout professionnel Salesforce (administrateur, développeur, architecte, etc.) qui implémente ou prend en charge une organisation Salesforce et fournit un vaste ensemble de fonctionnalités.


Actuellement, Nebula Logger est disponible sur les environnements de sandbox et production.


Voici l'architecture de nebula Logger :


Nebula fournit une journalisation unifiée pour Salesforce :


Vous pouvez facilement ajouter des entrées de journal via :

  • Des développements en Apex,

  • Des développements en Lightning Components (à la fois LWC et Aura)

  • Des Flow et Process Builder

Cela afin de générer un journal consolidé par transaction et depuis presque toutes les sources !


Concrètement, vous allez pour voir très facilement définir des endroits ou enregistrer un log pour surveiller ensuite ce qu'il s'est passé.


Très pratique par exemple en cas de code complexe ou de code asynchrone nécessitant de travailler avec des systèmes externes et de savoir ce qu'il s'est passé (réponse API par exemple)


Il est possible de déterminer le niveau de log (info, debug, error) pour donner du contexte.


Enfin, comme tout objet salesforce, vous avez la possibilité de créer des rapport et dashboard de suivi pour vos logs.





Il est possible de gérer les journaux en suivant le propriétaire du journal ou son statut Salesforce !


Cette fonctionnalité est facultative, mais peut être très utile dans les organisations de production pour savoir quels journaux sont importants. Il fournit également des champs personnalisés pour vous permettre de suivre des détails tels que le "problème" d'une erreur lorsque vous essayez d'effectuer une analyse des causes profondes (RCA) pour les erreurs de production.


L'auto-suppression des logs


Le stockage de données dans des objets personnalisés vous permet de tirer parti des fonctionnalités de Salesforce pour des éléments tels que les rapports et les tableaux de bord, mais au détriment de la consommation du stockage de données de votre organisation.


Nebula Logger inclut un travail par lots planifiable que vous pouvez exécuter dans votre organisation pour supprimer automatiquement les anciens journaux (et minimiser l'espace de stockage utilisé).


Cela se fait en fonction du champ Log__c.LogRetentionDate__c, qui est automatiquement défini en fonction du paramètre personnalisé LoggerSettings__c, et peut être modifié manuellement par les administrateurs ou défini automatiquement dans votre organisation à l'aide de vos propres automatisations.


 

le récap'


La journalisation est une partie essentielle du fonctionnement quotidien d'une organisation Salesforce. La plupart des systèmes d'entreprise utilisent la surveillance des événements et disposent d'un cadre de journalisation conçu pour leur utilisation spécifique.


Cependant, vous pouvez utiliser Nebula Logger ou bien Logger qui sont deux structures différentes pour résoudre rapidement vos besoins de journalisation et de façon personnalisable. Vous pouvez également ajouter vous-même des fonctionnalités supplémentaires.


Il ne vous reste plus qu'à choisir la structure qui vous convient le mieux !


Chez Leappy, nous utilisons Nebula Logger pour nos clients souhaitant améliorer leur capacité d'analyse et comprendre les processus techniques complexe.






























0 commentaire

Comments


Commenting has been turned off.
bottom of page