gold / craft-bugsnag
Unofficial Bugsnag notifier for Craft Cms.
Installs: 14 233
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 12
Forks: 4
Open Issues: 0
Type:craft-plugin
pkg:composer/gold/craft-bugsnag
Requires
- php: >=5.3.0
- bugsnag/bugsnag: 2.7.1
This package is not auto-updated.
Last update: 2025-10-21 09:04:19 UTC
README
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.
Installation
- Download this repo
- Rename the folder to bugsnagand place it into your Craft CMS Plugin directory (craft/plugins)
- In the newly created craft/plugins/bugsnagdirectory runcomposer install
- Navigate to your plugins page /settings/pluginsand click Install
- Make sure to configure the plugin as described in the next section
Configuration
- 
Create a file craft/config/bugsnag.phpthat 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_stageskey 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'] ); 
Hooks
discardBugsnagExceptionEvent($event)
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;
	}
}
Other
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.