crassula/google-cloud-error-reporting-bundle

Symfony bundle for Google Cloud Error Reporting

v0.8.0 2021-04-12 11:27 UTC

This package is auto-updated.

Last update: 2024-04-12 18:04:27 UTC


README

This bundle provides integration with Google Cloud Error Reporting in your Symfony project.

Note: This bundle uses Google Cloud Error Reporting for PHP package, which currently is in alpha stage, so BC breaks to be expected.

Prerequisites

This bundle requires Symfony 3.3+. Additionally you may want to install grpc and protobuf PECL extensions.

Installation

Add crassula/google-cloud-error-reporting-bundle to your composer.json file:

$ composer require crassula/google-cloud-error-reporting-bundle

Register the bundle in app/AppKernel.php:

public function registerBundles()
{
    return array(
        // ...
        new Crassula\Bundle\GoogleCloudErrorReportingBundle\CrassulaGoogleCloudErrorReportingBundle(),
    );
}

Authentication

Please see Google's Authentication guide for information on authenticating the client. Once authenticated, you'll be ready to start making requests.

Configuration

Minimal configuration in your app/config/config.yml:

crassula_google_cloud_error_reporting:
    enabled: true
    project_id: project-12345
    service: app_name
    client_options:
        credentials: /etc/gcp_credentials.json

By default error reporting is disabled, so you have to explicitly enable it where you need it (e.g. in app/config/config_prod.yml).

For full configuration reference run:

$ bin/console config:dump-reference CrassulaGoogleCloudErrorReportingBundle

Sample

use Crassula\Bundle\GoogleCloudErrorReportingBundle\Service\ErrorReporter;

try {
    $this->doFaultyOperation();
} catch (\Exception $e) {
    $container->get(ErrorReporter::class)->report($e);
}

You can additionally pass options as a second argument:

Name Description
http_request Instance of Symfony\Component\HttpFoundation\Request to report HTTP method, URL, user agent, referrer and remote IP address. If not set, bundle will attempt to retrieve master request from request stack.
http_response_status_code Response status code.
user Affected user's name, email, login or other username. If not set, bundle will attempt to retrieve username from token storage.
request_options Options related to Google Cloud Error Reporting package:
  • retrySettings - See \Google\ApiCore\RetrySettings::__construct for available options

Notes

About automatic error reporting

When config option use_listeners is enabled, bundle registers event listeners for kernel.exception and console.error events with priority 2048.

Errors are reported on kernel.terminate and console.terminate.

This option is enabled by default.

Exception handling

Reporter catches and logs exceptions related to bad configuration of Google Cloud Error Reporting package.

License

This package is available under the MIT license.