Collect error data by using Error Reporting

You can send application exceptions and error events to Error Reporting so that Error Reporting can analyze error data in your Google Cloud project. Depending on your compute environment, programming language, and authentication requirements, you can collect error data in the following ways:

  • Automatic log collection: Supported compute environments automatically send error data to Cloud Logging for Error Reporting to analyze. For example, Cloud Run automatically sends exceptions written to stderr to Logging.
  • Client libraries: You can instrument your application code with language-specific client libraries to send error reports directly from your app.
  • REST APIs: You can call the Error Reporting API or the Cloud Logging API to write formatted error events and stack traces, including when you require API key authentication.

When Error Reporting analyzes log entries

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) 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.
  • 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.

VPC Service Controls support

VPC Service Controls support Error Reporting.

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 perimeter, 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 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 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 Logging ingestion costs. To control which log entries are ingested, see Exclusion filters.

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