Lorsque vous développez un type d'application, vous souhaitez souvent consigner des informations pour diagnostiquer les pannes pendant le développement, pour identifier et diagnostiquer les problèmes des clients, ainsi qu'à d'autres fins.
Apps Script propose trois mécanismes différents pour la journalisation:
Journal d'exécution d'Apps Script intégré Ce journal est léger et diffuse en temps réel, mais il n'est conservé que pendant une courte période.
Interface Cloud Logging de la Play Console, qui fournit les journaux pendant plusieurs jours après leur création.
L'interface Error Reporting de la Play Console, qui collecte et enregistre les erreurs qui se produisent pendant l'exécution de votre script.
Ces fonctionnalités sont décrites dans les sections suivantes. En plus de ces mécanismes, vous pouvez également créer votre propre code d'enregistreur, qui écrit des informations dans une feuille de calcul de journalisation ou une base de données JDBC de journalisation.
Utiliser le journal d'exécution d'Apps Script
Une approche de base de la journalisation dans Apps Script consiste à utiliser le journal d'exécution intégré. Pour afficher ces journaux, cliquez sur Journal d'exécution en haut de l'éditeur. Lorsque vous exécutez une fonction ou utilisez le débogueur, les journaux sont diffusés en temps réel.
Vous pouvez utiliser les services de journalisation Logger
ou console
dans le journal d'exécution intégré.
Ces journaux sont destinés à des vérifications simples lors du développement et du débogage. Ils ne sont pas conservés très longtemps.
Prenons l'exemple de la fonction suivante:
Lorsque ce script est exécuté avec les entrées "2" et "john@example.com", les journaux suivants sont écrits:
[16-09-12 13:50:42:193 PDT] Envoi des données par e-mail à la ligne 2 à l'adresse john@example.com
[16-09-12 13:50:42:271 PDT] Données de la ligne 2: Coût 103.24
Cloud Logging
Apps Script fournit également un accès partiel au service Cloud Logging de Google Cloud Platform (GCP). Lorsque vous avez besoin de la journalisation pendant plusieurs jours ou que vous avez besoin d'une solution de journalisation plus complexe pour un environnement de production multi-utilisateur, Cloud Logging est le choix le plus adapté. Consultez la section Quotas et limites de Cloud Logging pour en savoir plus sur la conservation des données et les autres détails des quotas.
Si vous avez besoin d'un quota de journalisation plus important, vous pouvez envoyer une demande de quota Google Cloud Platform. Pour cela, vous devez avoir accès au projet Cloud Platform utilisé par votre script.
Utiliser Cloud Logging
Les journaux cloud sont associés au projet Google Cloud associé à votre Apps Script. Vous pouvez afficher une version simplifiée de ces journaux dans le tableau de bord Apps Script.
Pour tirer pleinement parti de Cloud Logging et de ses fonctionnalités, utilisez un projet Google Cloud standard avec votre projet de script. Vous pouvez ainsi accéder aux journaux Cloud directement dans la console GCP, et bénéficier de plus d'options d'affichage et de filtrage.
Lors de la journalisation, il est recommandé d'éviter d'enregistrer des informations personnelles sur l'utilisateur, telles que les adresses e-mail. Les journaux cloud sont automatiquement libellés avec des clés utilisateur actives que vous pouvez utiliser pour localiser les messages de journal d'un utilisateur spécifique si nécessaire.
Vous pouvez consigner des chaînes, des chaînes formatées et même des objets JSON à l'aide des fonctions fournies par le service console
d'Apps Script.
L'exemple suivant montre comment utiliser le service console
pour consigner des informations dans Cloud Operations.
Clés utilisateur actives
Les clés utilisateur temporaires temporaires sont un moyen pratique de détecter des utilisateurs uniques dans les entrées Cloud Logging sans révéler l'identité de ces utilisateurs. Les clés sont traitées par script et changent environ une fois par mois pour fournir une sécurité supplémentaire si un utilisateur révèle son identité à un développeur, par exemple lorsqu'il signale un problème.
Les clés utilisateur temporaires temporaires sont supérieures aux identifiants de journalisation tels que les adresses e-mail, car:
- Il est inutile d'ajouter un élément à votre journalisation.
- Elles ne nécessitent aucune autorisation de l'utilisateur.
- Elles protègent la confidentialité des utilisateurs.
Pour rechercher des clés utilisateur actives temporaires dans vos entrées de journal Cloud, affichez vos journaux Cloud dans la console Google Cloud. Vous ne pouvez le faire que si votre projet de script utilise un projet Google Cloud standard auquel vous avez accès. Une fois que vous avez ouvert le projet Google Cloud dans la console, sélectionnez une entrée de journal qui vous intéresse et développez-la pour afficher metadata > labels > script.googleapis.com/user_key.
Vous pouvez également obtenir la clé utilisateur active temporaire en appelant Session.getTemporaryActiveUserKey()
dans votre script. Une façon d'utiliser cette méthode consiste à présenter la clé à l'utilisateur pendant qu'il exécute votre script. Les utilisateurs peuvent ensuite choisir d'inclure leurs clés lors du signalement de problèmes pour vous aider à identifier les journaux concernés.
Journalisation des exceptions
La journalisation des exceptions envoie à Cloud Logging les exceptions non gérées dans le code de votre projet de script, ainsi qu'une trace de la pile.
Pour afficher les journaux des exceptions, procédez comme suit:
- Ouvrez le projet Apps Script.
- Sur la gauche, cliquez sur Exécutions .
- En haut, cliquez sur Ajouter un filtre > État.
- Cochez les cases Échec et Délai dépassé.
Vous pouvez également afficher les exceptions journalisées dans la console GCP si votre projet de script utilise un projet Google Cloud standard auquel vous avez accès.
Activer la journalisation des exceptions
La journalisation des exceptions est activée par défaut pour les nouveaux projets. Pour activer la journalisation des exceptions pour les projets plus anciens, procédez comme suit:
- Ouvrez le projet de script.
- À gauche, cliquez sur Project Settings (Paramètres du projet) .
- Cochez la case Consigner les exceptions non détectées dans la suite Cloud Operations.
Error Reporting
La journalisation des exceptions s'intègre automatiquement à Cloud Error Reporting, un service qui regroupe et affiche les erreurs générées dans votre script. Vous pouvez afficher vos rapports d'erreurs Cloud dans la console Google Cloud. Si vous êtes invité à configurer Error Reporting, cela signifie que votre script n'a pas encore enregistré d'exceptions. Aucune configuration n'est nécessaire au-delà de l'activation de la journalisation des exceptions.
Exigences de journalisation
L'utilisation du journal d'exécution intégré n'est soumise à aucune exigence.
Vous pouvez afficher une version simplifiée des journaux Cloud dans le tableau de bord Apps Script. Toutefois, pour tirer le meilleur parti de Cloud Logging et des rapports d'erreurs, vous devez avoir accès au projet GCP du script. Cela n'est possible que si votre projet de script utilise un projet Google Cloud standard.