ember-logging-bugsnag 
This addon provides a logging consumer for the ember-logging-service addon.
The consumer handles sending any error events to the Bugsnag service.
Configuration
First you must install the ember-logging-service addon and the ember-logging-bugsnag addon.
ember install ember-logging-service
ember install ember-logging-bugsnag
Next follow instructions from ember-logging-service to add application and user context callbacks. Additionally, the ember-logging-service
addon must be configured with enableErrors = true
.
There are two parts to configuring the Bugsnaglogging consumer. Setting up the
credentials and setting up the application-specific information to send to
Bugsnag.
Configuring credentials
Configuring the ember-logging-bugsnag addon is done from the config/environment.js
file.
You must set enabled = true
for each environment you wish to monitor (both in the
ember-logging-service and in the ember-logging-bugsnag modules).
ENV['ember-logging-service'] = {
enabled: true,
errorsEnabled: true,
.....
}
ENV['ember-logging-bugsnag'] = {
enabled: true,
key: your-bugsnag-key-goes-here
url: the-url-to-bugsnag-notifier-goes-here
}
The key can be found in your Bugsnag dashboard in the "Projects" section of you
"Settings".
The url is the notification URL that is reported for the API.
This defaults to https://notify.bugsnag.com/js.
Configuring application-specific information
Bugsnag requires information regarding the context of the error and the current
application user at the time of the error. This is typically information that
you would set in the application and user context callbacks in the ember-logging-service.
Because that contextual data is set up by your application, ember-logging-bugsnag
passes the event context to your custom callback to determine what values map
to the values expected by Bugsnag.
When you install the ember-logging-bugsnag addon, an application instance initializer
is created for you at app/instance-initializers/register-bugsnag-logging.js
.
This file sets up a sample callback to the logging consumer and defines the values
that need to be populated in order for error reporting with Bugsnag. You can
fill in the values directly here or utilize the event context passed to the
function to dynamically determine what to send. This callback is executed each
time an error is sent to Bugsnag.
Sending non-standard errors
By default, ember-logging-service and ember-logging-bugsnag work together to
send all unhandled Ember and RSVP errors to Bugsnag. If you'd like to add additional
errors, just use the logger service provided by ember-logging-service to trigger
them. By default, ember-logging-bugsnag listens to all events of the "error"
level with the tag of "error".
import Ember from 'ember';
export default Ember.Component.extend({
logger: Ember.inject.service(),
sendCustomError(errorName, errorData) {
let logger = this.get('logger');
logger.error(logger.get('tags.error'), errorName, errorData);
}
});
The logging mechanism will automatically call the ember-logging-bugsnag consumer
and send the error information on to Bugsnag.
Developing for ember-logging-bugsnag
This README outlines the details of collaborating on this Ember addon.
Installation
git clone git@github.com:acquia/ember-logging-bugsnag.git
this repositorycd ember-logging-bugsnag
npm install
bower install
Running
Running Tests
npm test
(Runs ember try:each
to test your addon against multiple Ember versions)ember test
ember test --server
Building
For more information on using ember-cli, visit https://ember-cli.com/.