gold/craft-bugsnag

Unofficial Bugsnag notifier for Craft Cms.

Installs: 14 124

Dependents: 0

Suggesters: 0

Security: 0

Stars: 13

Watchers: 13

Forks: 4

Open Issues: 0

Type:craft-plugin

1.3 2017-01-27 10:41 UTC

This package is not auto-updated.

Last update: 2024-05-07 02:33:14 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 bugsnag and place it into your Craft CMS Plugin directory (craft/plugins)
  • In the newly created craft/plugins/bugsnag directory run composer install
  • Navigate to your plugins page /settings/plugins and click Install
  • Make sure to configure the plugin as described in the next section

Configuration

  1. Create a file craft/config/bugsnag.php that contains your API key:

  2. Configure your api_key:

    <?php # craft/config/bugsnag.php
    
    return array(
        'api_key' => 'YOUR-API-KEY-HERE'
    );
  3. 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']
    );

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.