Collect error data by using Error Reporting

This document lists the environments supported by Error Reporting and it links to language-specific guides for application developers. We recommend that you use the language-specific client libraries or rely on automatically-collected log entries; however, you can write error data with the Cloud Logging API or the Error Reporting API. For example, if you use Cloud Run, then exceptions written to stderr are automatically sent to Cloud Logging.

Error Reporting is a global service built on Cloud Logging and can analyze log entries when all of the following are true:

  • Assured workloads are disabled. For more information, see Overview of Assured Workloads.
  • Customer-managed encryption keys (CMEK) is disabled on all log buckets that store the log entry. For information about how to determine the CMEK configuration for a log bucket, see Verify key enablement.
  • The log bucket satisfies one of the following:
    • The log bucket is stored in the same project where the log entries originated.
    • The log entries were routed to a project, and then that project stored those log entries in a log bucket that it owns.
If you are storing your log entries in log buckets with CMEK enabled, then you can still use Error Reporting. However, you must use the Error Reporting client libraries or the Error Reporting API. For more information, see the Error Reporting API overview and Error Reporting client libraries.

Virtual Private Cloud support

Error Reporting is a Virtual Private Cloud (VPC) supported service.

To reduce the risk of data exfiltration, use VPC Service Controls to create a service perimeter around your Google-managed services. For information about VPC Service Controls and how to create a service parameter, see the VPC Service Controls documentation.

Configure environments to automatically report error data

For information about environment-specific configuration requirements, see the following guides:

Instrument apps by using client libraries

For information about how to configure your application to send error reports, see the language-specific configuration guides:

Write error data by using an API

You can report error events to your Google Cloud project by executing the Error Reporting API method report or the Cloud Logging API method write.

  • If you require API key-based authentication, then you must use the Error Reporting API. To report an error event by using the Error Reporting API, execute the method report and format the request body of the method as a ReportedErrorEvent object.

    When you use the Error Reporting API, log entries with properly formatted error messages are automatically generated and written to Cloud Logging. These log entries are written to a log whose logName is formatted as follows:

    projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
    

    Because log entries are generated by calls to report, you might incur Cloud Logging ingestion costs. To control which log entries are ingested, see Exclusion filters.

    If you report error events by using the Error Reporting API, the remainder of this document doesn't apply.

  • If you want to use the Cloud Logging API, then you must format the LogEntry object so that includes a stack trace, or a ReportedErrorEvent object. For more information about the formatting requirements, see Format errors in logs.