$ composer require dbstudios/airbrake-bundle
// app/AppKernel.php
public function registerBundles() {
return array(
// ...
new DaybreakStudios\Bundle\AirbrakeBundle\DaybreakStudiosAirbrakeBundle(),
);
}
While it is possible to add your API key and Project ID directly to config.yml
, this would cause your private API key to be
published to your VCS. It is recommended that you follow the examples below and place the Project ID and API key in
parameters.yml
.
# app/config/config.yml
daybreak_studios_airbrake:
enabled: false
api_key: %airbrake.api_key%
project_id: %airbrake.project_id%
ignored_exceptions: [] # Optional array of exceptions to be ignored by the bundle;
# these will NOT be sent to Airbrake
# app/config/config_prod.yml
daybreak_studios_airbrake:
enabled: true
The above example will set up the bundle with everything you need, and will tell the bundle to only send to Airbrake if
you are in the production environment. If you would like Airbrake logging to always be enabled, you can simply set
enabled
to true in the first YAML file in step 3.
AirbrakeBundle supports watching Monolog log files for certain log levels, and sending just those log entries to Airbrake. If you plan on using this feature, it is recommended that you follow the Symfony tutorial Adding a Session / Request Token.
To enable the log watcher, you will need to add the following to your services.yml
file (either the global app file or the one
in your application bundle).
# services.yml
services:
# ...
airbrake_log_watcher:
class: DaybreakStudios\Bundle\AirbrakeBundle\Logging\AirbrakeHandler
arguments:
- @daybreak_studios_airbrake.service.airbrake
- @=constant("Monolog\\Logger::WARNING")
That will set up a new Monolog handler as a service. Next, you'll need to add the following to your Monolog handler stack (for more information, please read How to Use Monolog to Write Logs, specifically the section on using handlers).
# config.yml (or whichever config file holds your Monolog handler stack set up)
monolog:
handlers:
airbrake:
type: service
id: airbrake_log_watcher
# ...