Écrire et afficher des journaux

Cette page décrit les journaux disponibles pour les applications App Engine, et explique comment écrire et afficher des entrées de journal.

App Engine collecte deux types de journaux :

  • Journal de requêtes : journal des requêtes envoyées à votre application. App Engine crée automatiquement des entrées dans le journal de requêtes.

  • Journal d'application : entrées de journal que vous écrivez dans un framework ou un fichier compatible, comme décrit sur cette page.

App Engine envoie automatiquement ces journaux à l'agent Cloud Logging. Vous pouvez les afficher dans la visionneuse de journaux, avec la ligne de commande ou de manière automatisée.

Écrire des journaux d'application

Pour écrire des entrées de journal, nous vous recommandons d'intégrer l'appender Logback ou java.util.logging à Cloud Logging. Cette approche active toutes les fonctionnalités de Cloud Logging et ne nécessite que quelques lignes de code spécifique à Google Cloud.

Pour obtenir des instructions et des exemples de code, consultez la page Configurer Cloud Logging pour Java.

.

Autre solution : écrire des journaux structurés dans stdout et stderr

Au lieu de l'approche recommandée, vous pouvez envoyer des chaînes de texte simples à stdout et stderr. Les chaînes apparaissent sous forme de messages dans l'explorateur de journaux, la ligne de commande et l'API Cloud Logging. Elles sont associées au service App Engine et à la version qui les a émises.

Si vous souhaitez filtrer ces chaînes par niveau de gravité dans l'explorateur de journaux, vous devez les mettre en forme en tant que données structurées. Pour plus d'informations, consultez la section Journalisation structurée.

Si vous souhaitez mettre en corrélation des entrées de journal d'application avec des entrées de journal de requêtes, les entrées de journal d'application structurées doivent contenir l'identifiant de trace de la requête. Vous pouvez extraire l'identifiant de trace à partir de l'en-tête de requête X-Cloud-Trace-Context. Dans votre entrée de journal structurée, écrivez l'ID dans un champ nommé logging.googleapis.com/trace. Pour en savoir plus sur l'en-tête X-Cloud-Trace-Context, consultez la section Forcer le traçage d'une requête.

Consultez un exemple d'écriture d'entrées de journal structurées avec un ID de trace dans la documentation Cloud Run. Vous pouvez utiliser la même technique dans vos applications App Engine.

Afficher les journaux

Vous pouvez afficher les journaux d'application et de requêtes à l'aide de l'explorateur de journaux :

  1. Accédez à l'explorateur de journaux dans la console Google Cloud :

    Accéder à l'explorateur de journaux

  2. Sélectionnez un projet Google Cloud existant en haut de la page.

  3. Dans les menus déroulants, sélectionnez le type de ressource Application GAE.

  4. Pour voir quelles entrées de journal d'application sont corrélées à des entrées de journal de requêtes, procédez comme suit :

    1. Sélectionnez le journal httpRequest.requestUrl dans les menus de filtre.

    2. Développez une entrée de journal de requêtes. Les journaux d'application associés à cette requête apparaissent imbriqués sous l'entrée de journal de requêtes.

    Si vous envoyez des entrées de texte simples à la sortie standard, vous ne pouvez pas utiliser la visionneuse de journaux pour filtrer les entrées d'application par gravité ni identifier les journaux d'application correspondant à des requêtes spécifiques. Vous pouvez toujours utiliser d'autres types de filtres dans l'explorateur de journaux, tels que le texte et l'horodatage.

Vous pouvez filtrer l'explorateur de journaux en fonction du service, de la version et d'autres critères d'App Engine. Vous pouvez également rechercher des entrées spécifiques dans les journaux. Consultez la page Utiliser l'explorateur de journaux pour plus d'informations.

Afficher les journaux à l'aide de la ligne de commande

Pour afficher vos journaux App Engine à partir de la ligne de commande, exécutez la commande suivante :

gcloud app logs tail

Pour plus d'informations, consultez la page gcloud app logs tail.

Lire les journaux de manière automatisée

Si vous souhaitez lire les journaux de manière automatisée, vous pouvez utiliser l'une des méthodes suivantes :

Tarifs, quotas et règles de conservation des journaux

Pour plus d'informations sur les tarifs applicables aux journaux d'application et de requêtes, consultez la section Tarifs de Cloud Logging.

Pour en savoir plus sur les règles de conservation des journaux et la taille maximale des entrées de journal, consultez la page Quotas et limites. Si vous souhaitez stocker vos journaux pendant une période plus longue, vous pouvez les exporter vers Cloud Storage. Vous avez également la possibilité d'exporter vos journaux vers BigQuery et Pub/Sub en vue d'un traitement ultérieur.

Gérer l'utilisation des ressources de journal

Vous pouvez contrôler la quantité d'activité de journalisation de vos journaux d'application en écrivant plus ou moins d'entrées à partir du code de votre application. Les journaux de requêtes sont créés automatiquement. Par conséquent, pour gérer le nombre d'entrées de journal de requêtes associées à votre application, utilisez la fonctionnalité d'exclusion de journaux de Cloud Logging.

Problèmes connus

Il peut arriver que les entrées de journal d'application ne soient pas mises en corrélation avec les entrées de journal de requêtes. Cela se produit la première fois que votre application reçoit une requête et chaque fois qu'App Engine écrit des messages d'état dans le journal de votre application. Pour en savoir plus, consultez la page https://issuetracker.google.com/issues/138365527.