Skip to content

Commit 4e678ef

Browse files
author
Jason Kelly
committed
Version 1.1.0
Added reporting options - sentry.io - custom drivers
1 parent 893e662 commit 4e678ef

File tree

5 files changed

+42
-2
lines changed

5 files changed

+42
-2
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ import errorTracker from '@deveodk/vue-error-tracker'
4848
Vue.use(errorTracker, {
4949
HttpDriver: require('@deveodk/vue-error-tracker/drivers/http/axios.js'),
5050
NotificationDriver: require('@deveodk/vue-error-tracker/drivers/notification/deveoToastr.js'),
51+
# Sentry.io optional
52+
# ReportDriver: require('@deveodk/vue-error-tracker/drivers/report/sentry.js'),
5153
HttpErrorCodes: {
5254
400: {
5355
title: 'Unknown error',
@@ -63,6 +65,22 @@ Vue.use(errorTracker, {
6365
})
6466
```
6567

68+
## Reporting errors
69+
You can report the errors through the error drivers. The error tracker comes with built in support for sentry.io
70+
71+
```code
72+
# Sentry raven example
73+
import Raven from 'raven-js'
74+
import RavenVue from 'raven-js/plugins/vue'
75+
Raven
76+
.config(KEY HERE)
77+
.addPlugin(RavenVue, Vue)
78+
.install()
79+
Vue.prototype.$raven = Raven
80+
81+
# The error tracker will now automaticly report the errors to sentry
82+
```
83+
6684
## License
6785

6886
[MIT](http://opensource.org/licenses/MIT)

drivers/report/sentry.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = {
2+
_init: function (Vue) {
3+
if (!Vue.prototype.$raven) {
4+
console.warn('@deveodk/vue-error-tracker : sentry raven must be set before this plugin is used.')
5+
}
6+
},
7+
_report: function (Vue, status, statusText, body, logLevel) {
8+
Vue.prototype.$raven.captureMessage(status + ' ' + statusText, {
9+
level: logLevel,
10+
extra: body,
11+
tags: ['Vue-error-tracker']
12+
})
13+
}
14+
}

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@deveodk/vue-error-tracker",
3-
"version": "1.0.5",
3+
"version": "1.1.0",
44
"description": "Give your users an easy way to see when something in your application goes wrong. This package makes it easy to show error messages.",
55
"author": "Jason Kelly <[email protected]>",
66
"main": "dist/@deveodk/vue-error-tracker.common.js",

src/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@ function plugin (Vue, options) {
55
}
66
options = utils.extend(defaultOptions, [options || {}])
77
let notification = false
8+
let report = false
89
if (options.NotificationDriver) {
910
options.NotificationDriver._init(Vue)
1011
notification = true
1112
}
13+
if (options.ReportDriver) {
14+
options.ReportDriver._init(Vue)
15+
report = true
16+
}
1217

1318
if (options.HttpDriver) {
1419
options.HttpDriver._init(Vue)
@@ -42,6 +47,9 @@ function plugin (Vue, options) {
4247
break
4348
}
4449
}
50+
if (report) {
51+
options.ReportDriver._report(Vue, response.status, response.statusText, response.data, object.type)
52+
}
4553
return
4654
}
4755
}

0 commit comments

Comments
 (0)