aminin / airbrake-bundle
Airbrake API v3 integration for Symfony 3/4/5
Installs: 57 772
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 9
Open Issues: 2
Type:symfony-bundle
Requires
- airbrake/phpbrake: ^0.8.0
- symfony/framework-bundle: ^3.4|^4.4|^5.0|^6.0
Requires (Dev)
- phpunit/phpunit: ^8.5
- squizlabs/php_codesniffer: ^3.0.2
- symfony/symfony: 4.4.*
- symfony/yaml: ^3.4|^4.4|^5.0
README
Airbrake.io & Errbit integration for Symfony 3/4/5. This bundle plugs the Airbrake API client into Symfony project.
Prerequisites
This version of the bundle requires Symfony 3.4+ and php 7.2+
Installation
Step 1: Download AmiAirbrakeBundle using composer
Add AmiAirbrakeBundle in your composer.json:
$ composer require aminin/airbrake-bundle
Step 2: Enable the bundle
Enable the bundle in the kernel:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Ami\AirbrakeBundle\AmiAirbrakeBundle(), ); }
Step 3: Configure the AmiAirbrakeBundle
Add the following configuration to your config.yml
file
# app/config/config.yml ami_airbrake: project_id: YOUR-PROJECT-ID project_key: YOUR-API-KEY
Configuration reference
ami_airbrake: # This parameter is required # For Errbit the exact value of project_id doesn't matter project_id: YOUR-PROJECT-ID # Omit this key if you need to enable/disable the bundle temporarily # If not given, this bundle will ignore all exceptions and won't send any data to remote. project_key: YOUR-API-KEY # By default, it is set to api.airbrake.io. # A host is a web address containing a scheme ("http" or "https"), a host and a port. # You can omit the scheme ("https" will be assumed) and the port (80 or 443 will be assumed). host: http://errbit.localhost:8000 # You might want to ignore some exceptions such as http not found, access denied etc. # By default this bundle ignores all HttpException instances. (includes HttpNotFoundException, AccessDeniedException) # To log all exceptions leave this array empty. ignored_exceptions: ["Symfony\Component\HttpKernel\Exception\HttpException"] parameters: # You may modify these parameters at your own risk ami_airbrake.notifier.class: 'Airbrake\Notifier' ami_airbrake.exception_listener.class: 'Ami\AirbrakeBundle\EventListener\ExceptionListener' ami_airbrake.shutdown_listener.class: 'Ami\AirbrakeBundle\EventListener\ShutdownListener'
Usage
Once configured, bundle will automatically send exceptions/errors to airbrake server.
You may access the Notifier as ami_airbrake.notifier
service
/** @var ContainerInterface $container */ $container->get('ami_airbrake.notifier')->addFilter(function ($notice) { $notice['context']['environment'] = 'production'; return $notice; });
License
This bundle is under the MIT license. See the complete license in the Resources/meta/LICENSE
References
Airbrake API client: https://github.com/airbrake/phpbrake