This is basically a fork of the official Bugsnag Laravel Package. Thanks for the good work and I hope you guys don't mind :)
The Bugsnag Notifier for the excellent Craft CMS
gives you instant notification of errors and exceptions. Once installed,
the plugin will listen to the Yii Events onError
and onException
as
recommended by brand.
Bugsnag captures errors in real-time from your web, mobile and desktop applications, helping you to understand and resolve them as fast as possible. Create a free account to start capturing errors from your applications.
- Download this repo
- Rename the folder to
bugsnag
and place it into your Craft CMS Plugin directory (craft/plugins
) - In the newly created
craft/plugins/bugsnag
directory runcomposer install
- Navigate to your plugins page
/settings/plugins
and click Install - Make sure to configure the plugin as described in the next section
-
Create a file
craft/config/bugsnag.php
that contains your API key: -
Configure your
api_key
:<?php # craft/config/bugsnag.php return array( 'api_key' => 'YOUR-API-KEY-HERE' );
-
Optionally, you can add the
notify_release_stages
key to the same file above to define which Craft environments will send Exceptions to Bugsnag.return array( 'api_key' => 'YOUR-API-KEY-HERE', 'notify_release_stages' => ['production', 'staging'] );
Give plugins a chance to discard certain types of exceptions, such as a 404.
/**
* Stop an exception event from being reported to bugsnag
*
* @param CExeptionEvent $event
* @return boolean
*/
function discardBugsnagExceptionEvent($event)
{
$exception = $event->exception;
if (/* $exception should be discarded */){
return true;
}
}
You can always grab the bugsnag instance from the bugsnag service to send your own errors and exceptions or register a beforeNotifyFunction.
craft()->bugsnag->instance()->notifyError("ErrorType", "Something bad happened here too");
See the Additional Configuration
documentation on the bugsnag-php
library for more information.