errbase 0.0.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +18 -0
- data/LICENSE.txt +1 -1
- data/README.md +30 -9
- data/lib/errbase.rb +26 -26
- data/lib/errbase/version.rb +1 -1
- metadata +12 -175
- data/.gitignore +0 -22
- data/Gemfile +0 -4
- data/Rakefile +0 -8
- data/errbase.gemspec +0 -33
- data/test/errbase_test.rb +0 -9
- data/test/test_helper.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: bbc2eadf89c8fecc6273c1421b4c3928c910bcd5ecc7d7efd11b67bb47a41cd9
|
4
|
+
data.tar.gz: 4a1c2c6d40845dc55934e8ce9569e9990b1cd09aeea4862febd271074aa5b61e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1484556155f8fd4d9893c8f43cfc17233ee88323a177bc72ba33bb88ab56c88ac21e6f8f6c0c691504dd317a250430ff90fe821248f0b55f2435ba5072071c50
|
7
|
+
data.tar.gz: 477bbd79a3577047a691d8a02630d9fe324120284e8c2794b589de5f9829f95c01d8a7215c877bc785cad6c59111205d608126a60bc2e5cf214d351cf04b6b6e
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
## 0.2.1 (2021-01-03)
|
2
|
+
|
3
|
+
- Added support for `sentry-ruby` gem
|
4
|
+
|
5
|
+
## 0.2.0 (2019-10-28)
|
6
|
+
|
7
|
+
- Added context to New Relic
|
8
|
+
- Removed support for Exceptional and Opbeat
|
9
|
+
|
10
|
+
## 0.1.1 (2018-09-19)
|
11
|
+
|
12
|
+
- Added support for passing extra context
|
13
|
+
- Added New Relic
|
14
|
+
|
15
|
+
## 0.1.0 (2018-02-27)
|
16
|
+
|
17
|
+
- Rescue exceptions during reporting
|
18
|
+
- Added support for Exception Notification and Stackdriver
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,9 +2,18 @@
|
|
2
2
|
|
3
3
|
Common exception reporting for a variety of services
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
Libraries are automatically detected. Supports:
|
6
|
+
|
7
|
+
- [Airbrake](https://airbrake.io/)
|
8
|
+
- [Appsignal](https://appsignal.com/)
|
9
|
+
- [Bugsnag](https://bugsnag.com/)
|
10
|
+
- [Exception Notification](https://github.com/smartinez87/exception_notification)
|
11
|
+
- [Google Stackdriver](https://cloud.google.com/stackdriver/)
|
12
|
+
- [Honeybadger](https://www.honeybadger.io/)
|
13
|
+
- [New Relic](https://newrelic.com/)
|
14
|
+
- [Raygun](https://raygun.io/)
|
15
|
+
- [Rollbar](https://rollbar.com/)
|
16
|
+
- [Sentry](https://getsentry.com/)
|
8
17
|
|
9
18
|
```ruby
|
10
19
|
begin
|
@@ -14,9 +23,17 @@ rescue => e
|
|
14
23
|
end
|
15
24
|
```
|
16
25
|
|
26
|
+
You can add extra context with:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
Errbase.report(e, {username: "hello"})
|
30
|
+
```
|
31
|
+
|
32
|
+
> Context is not supported for Google Stackdriver
|
33
|
+
|
17
34
|
## Installation
|
18
35
|
|
19
|
-
Errbase
|
36
|
+
Errbase is designed to be used as a dependency.
|
20
37
|
|
21
38
|
Add this line to your gemspec:
|
22
39
|
|
@@ -24,11 +41,6 @@ Add this line to your gemspec:
|
|
24
41
|
spec.add_dependency "errbase"
|
25
42
|
```
|
26
43
|
|
27
|
-
## TODO
|
28
|
-
|
29
|
-
- Ability to specify services
|
30
|
-
- Support for more services
|
31
|
-
|
32
44
|
## Contributing
|
33
45
|
|
34
46
|
Everyone is encouraged to help improve this project. Here are a few ways you can help:
|
@@ -37,3 +49,12 @@ Everyone is encouraged to help improve this project. Here are a few ways you can
|
|
37
49
|
- Fix bugs and [submit pull requests](https://github.com/ankane/errbase/pulls)
|
38
50
|
- Write, clarify, or fix documentation
|
39
51
|
- Suggest or add new features
|
52
|
+
|
53
|
+
To get started with development:
|
54
|
+
|
55
|
+
```sh
|
56
|
+
git clone https://github.com/ankane/errbase.git
|
57
|
+
cd errbase
|
58
|
+
bundle install
|
59
|
+
bundle exec rake test
|
60
|
+
```
|
data/lib/errbase.rb
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
require "errbase/version"
|
2
2
|
|
3
3
|
module Errbase
|
4
|
-
|
5
4
|
class << self
|
5
|
+
def report(e, info = {})
|
6
|
+
Airbrake.notify(e, info) if defined?(Airbrake)
|
7
|
+
|
8
|
+
Appsignal.send_error(e, info) if defined?(Appsignal)
|
6
9
|
|
7
|
-
def report(e)
|
8
|
-
if defined?(Rollbar)
|
9
|
-
Rollbar.report_exception(e)
|
10
|
-
end
|
11
|
-
if defined?(Airbrake)
|
12
|
-
Airbrake.notify(e)
|
13
|
-
end
|
14
|
-
if defined?(Honeybadger)
|
15
|
-
Honeybadger.notify(e)
|
16
|
-
end
|
17
|
-
if defined?(Exceptional)
|
18
|
-
Exceptional.handle(e)
|
19
|
-
end
|
20
|
-
if defined?(Raygun)
|
21
|
-
Raygun.track_exception(e)
|
22
|
-
end
|
23
|
-
if defined?(Raven)
|
24
|
-
Raven.capture_exception(e)
|
25
|
-
end
|
26
10
|
if defined?(Bugsnag)
|
27
|
-
Bugsnag.notify(e)
|
11
|
+
Bugsnag.notify(e) do |report|
|
12
|
+
report.add_tab(:info, info) if info.any?
|
13
|
+
end
|
28
14
|
end
|
29
|
-
if defined?(Appsignal)
|
30
|
-
Appsignal.send_exception(e)
|
31
|
-
end
|
32
|
-
end
|
33
15
|
|
34
|
-
|
16
|
+
ExceptionNotifier.notify_exception(e, data: info) if defined?(ExceptionNotifier)
|
17
|
+
|
18
|
+
# TODO add info
|
19
|
+
Google::Cloud::ErrorReporting.report(e) if defined?(Google::Cloud::ErrorReporting)
|
20
|
+
|
21
|
+
Honeybadger.notify(e, context: info) if defined?(Honeybadger)
|
22
|
+
|
23
|
+
NewRelic::Agent.notice_error(e, custom_params: info) if defined?(NewRelic::Agent)
|
24
|
+
|
25
|
+
Raven.capture_exception(e, extra: info) if defined?(Raven)
|
35
26
|
|
27
|
+
Raygun.track_exception(e, custom_data: info) if defined?(Raygun)
|
28
|
+
|
29
|
+
Rollbar.error(e, info) if defined?(Rollbar)
|
30
|
+
|
31
|
+
Sentry.capture_exception(e, extra: info) if defined?(Sentry)
|
32
|
+
rescue => e
|
33
|
+
$stderr.puts "[errbase] Error reporting exception: #{e.class.name}: #{e.message}"
|
34
|
+
end
|
35
|
+
end
|
36
36
|
end
|
data/lib/errbase/version.rb
CHANGED
metadata
CHANGED
@@ -1,191 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: errbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
|
14
|
-
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.6'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.6'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '5'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '5'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rollbar
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: airbrake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: honeybadger
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: exceptional
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: raygun4ruby
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: sentry-raven
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: bugsnag
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: appsignal
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
description: Common exception reporting for a variety of services
|
168
|
-
email:
|
169
|
-
- andrew@chartkick.com
|
11
|
+
date: 2021-01-03 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email: andrew@chartkick.com
|
170
15
|
executables: []
|
171
16
|
extensions: []
|
172
17
|
extra_rdoc_files: []
|
173
18
|
files:
|
174
|
-
-
|
175
|
-
- Gemfile
|
19
|
+
- CHANGELOG.md
|
176
20
|
- LICENSE.txt
|
177
21
|
- README.md
|
178
|
-
- Rakefile
|
179
|
-
- errbase.gemspec
|
180
22
|
- lib/errbase.rb
|
181
23
|
- lib/errbase/version.rb
|
182
|
-
- test/errbase_test.rb
|
183
|
-
- test/test_helper.rb
|
184
24
|
homepage: https://github.com/ankane/errbase
|
185
25
|
licenses:
|
186
26
|
- MIT
|
187
27
|
metadata: {}
|
188
|
-
post_install_message:
|
28
|
+
post_install_message:
|
189
29
|
rdoc_options: []
|
190
30
|
require_paths:
|
191
31
|
- lib
|
@@ -193,18 +33,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
193
33
|
requirements:
|
194
34
|
- - ">="
|
195
35
|
- !ruby/object:Gem::Version
|
196
|
-
version: '
|
36
|
+
version: '2.4'
|
197
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
38
|
requirements:
|
199
39
|
- - ">="
|
200
40
|
- !ruby/object:Gem::Version
|
201
41
|
version: '0'
|
202
42
|
requirements: []
|
203
|
-
|
204
|
-
|
205
|
-
signing_key:
|
43
|
+
rubygems_version: 3.1.4
|
44
|
+
signing_key:
|
206
45
|
specification_version: 4
|
207
46
|
summary: Common exception reporting for a variety of services
|
208
|
-
test_files:
|
209
|
-
- test/errbase_test.rb
|
210
|
-
- test/test_helper.rb
|
47
|
+
test_files: []
|
data/.gitignore
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
.bundle
|
4
|
-
.config
|
5
|
-
.yardoc
|
6
|
-
Gemfile.lock
|
7
|
-
InstalledFiles
|
8
|
-
_yardoc
|
9
|
-
coverage
|
10
|
-
doc/
|
11
|
-
lib/bundler/man
|
12
|
-
pkg
|
13
|
-
rdoc
|
14
|
-
spec/reports
|
15
|
-
test/tmp
|
16
|
-
test/version_tmp
|
17
|
-
tmp
|
18
|
-
*.bundle
|
19
|
-
*.so
|
20
|
-
*.o
|
21
|
-
*.a
|
22
|
-
mkmf.log
|
data/Gemfile
DELETED
data/Rakefile
DELETED
data/errbase.gemspec
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'errbase/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "errbase"
|
8
|
-
spec.version = Errbase::VERSION
|
9
|
-
spec.authors = ["Andrew Kane"]
|
10
|
-
spec.email = ["andrew@chartkick.com"]
|
11
|
-
spec.summary = %q{Common exception reporting for a variety of services}
|
12
|
-
spec.description = %q{Common exception reporting for a variety of services}
|
13
|
-
spec.homepage = "https://github.com/ankane/errbase"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.files = `git ls-files -z`.split("\x0")
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
-
spec.add_development_dependency "rake"
|
23
|
-
spec.add_development_dependency "minitest", ">= 5"
|
24
|
-
|
25
|
-
spec.add_development_dependency "rollbar"
|
26
|
-
spec.add_development_dependency "airbrake"
|
27
|
-
spec.add_development_dependency "honeybadger"
|
28
|
-
spec.add_development_dependency "exceptional"
|
29
|
-
spec.add_development_dependency "raygun4ruby"
|
30
|
-
spec.add_development_dependency "sentry-raven"
|
31
|
-
spec.add_development_dependency "bugsnag"
|
32
|
-
spec.add_development_dependency "appsignal"
|
33
|
-
end
|
data/test/errbase_test.rb
DELETED
data/test/test_helper.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
require "bundler/setup"
|
2
|
-
Bundler.require(:default)
|
3
|
-
require "minitest/autorun"
|
4
|
-
require "minitest/pride"
|
5
|
-
require "rollbar"
|
6
|
-
require "airbrake"
|
7
|
-
require "honeybadger"
|
8
|
-
# require "exceptional" # raises exception when not configured
|
9
|
-
# require "raygun4ruby" # raises exception when not configured
|
10
|
-
require "sentry-raven"
|
11
|
-
require "bugsnag"
|
12
|
-
require "appsignal"
|