Collecter des données d'erreur à l'aide d'Error Reporting
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document liste les environnements compatibles avec Error Reporting et fournit des liens vers des guides spécifiques aux langages pour les développeurs d'applications.
Nous vous recommandons d'utiliser les bibliothèques clientes spécifiques à un langage ou de vous appuyer sur les entrées de journal collectées automatiquement. Toutefois, vous pouvez écrire des données d'erreur avec l'API Cloud Logging ou l'API Error Reporting.
Par exemple, si vous utilisez Cloud Run, les exceptions écrites dans stderr sont automatiquement envoyées à Cloud Logging.
Error Reporting est un service global basé sur Cloud Logging. Il peut analyser les entrées de journaux lorsque toutes les conditions suivantes sont remplies :
Les clés de chiffrement gérées par le client (CMEK) sont désactivées sur tous les buckets de journaux qui stockent l'entrée de journal. Error Reporting ne peut pas stocker les entrées de journaux dans des buckets de journaux pour lesquels CMEK est activé. Pour savoir comment déterminer la configuration CMEK d'un bucket de journaux, consultez Vérifier l'activation des clés.
Le bucket de journaux remplit l'une des conditions suivantes :
Le bucket de journaux est stocké dans le même projet que celui d'où proviennent les entrées de journal.
Les entrées de journal ont été acheminées vers un projet, puis ce projet les a stockées dans un bucket de journaux dont il est propriétaire.
Compatibilité avec le cloud privé virtuel
Error Reporting est un service compatible avec le cloud privé virtuel (VPC).
Pour réduire le risque d'exfiltration de données, utilisez VPC Service Controls afin de créer un périmètre de service autour de vos services gérés par Google.
Pour en savoir plus sur VPC Service Controls et sur la création d'un paramètre de service, consultez la documentation de VPC Service Controls.
Configurer des environnements pour signaler automatiquement les données d'erreurs
Pour en savoir plus sur les exigences de configuration spécifiques à l'environnement, consultez les guides suivants :
Instrumenter des applications à l'aide de bibliothèques clientes
Pour savoir comment configurer votre application afin qu'elle envoie des rapports d'erreur, consultez les guides de configuration spécifiques à chaque langage :
Vous pouvez signaler des événements d'erreur à votre projet Google Cloud en exécutant la méthode de l'API Error Reporting report ou la méthode de l'API Cloud Logging write.
Si vous avez besoin d'une authentification basée sur une clé API, vous devez utiliser l'API Error Reporting. Pour signaler un événement d'erreur à l'aide de l'API Error Reporting, exécutez la méthode report et mettez en forme le corps de la requête de la méthode en tant qu'objet ReportedErrorEvent.
Lorsque vous utilisez l'API Error Reporting, des entrées de journal avec des messages d'erreur correctement formatés sont automatiquement générées et écrites dans Cloud Logging. Ces entrées de journal sont écrites dans un journal dont le logName est mis en forme comme suit :
Étant donné que les entrées de journal sont générées par des appels à report, des coûts d'ingestion Cloud Logging peuvent s'appliquer. Pour contrôler les entrées de journal ingérées, consultez Filtres d'exclusion.
Si vous signalez des événements d'erreur à l'aide de l'API Error Reporting, le reste de ce document ne s'applique pas.
Si vous souhaitez utiliser l'API Cloud Logging, vous devez mettre en forme l'objet LogEntry de manière à ce qu'il inclue une trace de pile ou un objet ReportedErrorEvent. Pour en savoir plus sur les exigences de mise en forme, consultez Erreurs de format dans les journaux.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[[["\u003cp\u003eError Reporting supports various environments and offers language-specific client libraries for application developers to send error reports.\u003c/p\u003e\n"],["\u003cp\u003eError data can be sent through language-specific client libraries, automatically-collected log entries, or by directly using the Cloud Logging API or the Error Reporting API.\u003c/p\u003e\n"],["\u003cp\u003eError Reporting is a global service built on Cloud Logging that analyzes log entries under specific conditions, like assured workloads and CMEK being disabled or in a properly configured bucket.\u003c/p\u003e\n"],["\u003cp\u003eError Reporting supports Virtual Private Cloud (VPC), and VPC Service Controls can be used to enhance security.\u003c/p\u003e\n"],["\u003cp\u003eThere are dedicated guides for configuring environments and instrumenting apps, as well as for using the Error Reporting API and Cloud Logging API to write error data, each with their own set of requirements.\u003c/p\u003e\n"]]],[],null,["This document lists the environments supported by Error Reporting and\nit links to language-specific guides for application developers.\nWe recommend that you use the [language-specific client libraries](#libraries)\nor rely on automatically-collected log entries; however, you can\n[write error data with the Cloud Logging API or the Error Reporting API](#apis).\nFor example, if you use\n[Cloud Run](/error-reporting/docs/setup/cloud-run),\nthen exceptions written to `stderr` are automatically sent to Cloud Logging.\n\nError Reporting is a global service built on\nCloud Logging and can analyze log entries when all of the following are true:\n\n- Assured workloads are disabled. For more information, see [Overview of Assured Workloads](/assured-workloads/docs/overview).\n- [Customer-managed encryption keys (CMEK)](/logging/docs/routing/managed-encryption-storage) are disabled on all log buckets that store the log entry. Error Reporting can't store log entries in log buckets that have CMEK enabled. For information about how to determine the CMEK configuration for a log bucket, see [Verify key enablement](/logging/docs/routing/managed-encryption-storage#verify-key).\n- The log bucket satisfies one of the following:\n - The log bucket is stored in the same project where the log entries originated.\n - The log entries were routed to a project, and then that project stored those log entries in a log bucket that it owns.\n\n\u003cbr /\u003e\n\nVirtual Private Cloud support\n\nError Reporting is a Virtual Private Cloud (VPC) supported\nservice.\n\nTo reduce the risk of data exfiltration, use VPC Service Controls to create a\nservice perimeter around your Google-managed services.\nFor information about VPC Service Controls and how to create a service\nparameter, see the\n[VPC Service Controls documentation](/vpc-service-controls/docs).\n\nConfigure environments to automatically report error data\n\nFor information about environment-specific configuration requirements, see\nthe following guides:\n\n- [App Engine flexible environment](/error-reporting/docs/setup/app-engine-flexible-environment)\n- [App Engine standard environment](/error-reporting/docs/setup/app-engine-standard-environment)\n- [Apps Script](/error-reporting/docs/setup/apps-script)\n- [Cloud Run functions](/error-reporting/docs/setup/cloud-functions)\n- [Cloud Run](/error-reporting/docs/setup/cloud-run)\n- [Compute Engine](/error-reporting/docs/setup/compute-engine)\n- [Google Kubernetes Engine](/error-reporting/docs/setup/kubernetes-engine)\n- [Amazon EC2](/error-reporting/docs/setup/ec2)\n\nInstrument apps by using client libraries\n\nFor information about how to configure your application to send error reports,\nsee the language-specific configuration guides:\n\n- [Go apps](/error-reporting/docs/setup/go)\n- [Java apps](/error-reporting/docs/setup/java)\n- [.NET apps](/error-reporting/docs/setup/dotnet)\n- [Node.js apps](/error-reporting/docs/setup/nodejs)\n- [Python apps](/error-reporting/docs/setup/python)\n- [PHP apps](/error-reporting/docs/setup/php)\n- [Ruby apps](/error-reporting/docs/setup/ruby)\n\nWrite error data by using an API\n\nYou can report error events to your Google Cloud project by\nexecuting the Error Reporting API method\n[`report`](/error-reporting/reference/rest/v1beta1/projects.events/report)\nor the Cloud Logging API method\n[`write`](/logging/docs/reference/v2/rest/v2/entries/write).\n\n- If you require API key-based authentication, then you must use the\n Error Reporting API. To report an error event by using the\n Error Reporting API, execute the method\n [`report`](/error-reporting/reference/rest/v1beta1/projects.events/report)\n and format the request body of the method as a\n [`ReportedErrorEvent`](/error-reporting/reference/rest/v1beta1/projects.events/report#ReportedErrorEvent) object.\n\n When you use the Error Reporting API, log entries with properly\n formatted error messages are automatically generated and written to\n [Cloud Logging](/logging/docs). These log entries are written to a log\n whose `logName` is formatted as follows: \n\n ```\n projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors\n ```\n\n Because log entries are generated by calls to `report`, you might incur\n Cloud Logging ingestion costs. To control which log entries are ingested,\n see [Exclusion filters](/logging/docs/routing/overview#exclusions).\n\n If you report error events by using the Error Reporting API,\n the remainder of this document doesn't apply.\n- If you want to use the Cloud Logging API, then you must format the\n [`LogEntry`](/logging/docs/api/reference/rest/v2/LogEntry) object so that includes a stack trace,\n or a [`ReportedErrorEvent`](/error-reporting/reference/rest/v1beta1/projects.events/report#ReportedErrorEvent) object. For more information\n about the formatting requirements, see\n [Format errors in logs](/error-reporting/docs/formatting-error-messages)."]]