crassula/google-cloud-error-reporting-bundle
Symfony bundle integrating Google Cloud Error Reporting. Configure project ID, service name and credentials, enable per environment, then report exceptions via the ErrorReporter service with optional HTTP request/response and user context.
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.
This bundle requires Symfony 3.3+. Additionally you may want to install grpc and protobuf PECL extensions.
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(),
);
}
Please see Google's Authentication guide for information on authenticating the client. Once authenticated, you'll be ready to start making requests.
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
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 |
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.
Reporter catches and logs exceptions related to bad configuration of Google Cloud Error Reporting package.
This package is available under the MIT license.
How can I help you explore Laravel packages today?