honeybadger 5.1.0 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/honeybadger/breadcrumbs/logging.rb +5 -1
- data/lib/honeybadger/config.rb +3 -0
- data/lib/honeybadger/init/hanami.rb +19 -0
- data/lib/honeybadger/init/sinatra.rb +7 -1
- data/lib/honeybadger/version.rb +1 -1
- data/lib/honeybadger.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96ba43cc6a1052b6c57bdf12a570fca681d44a18224eb7038bf1068b7f75f17f
|
4
|
+
data.tar.gz: 59ba7b1d6dcf34d22d6cf537da90083967e07dbe776776e5e20a1074049c3ad9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c94ca978153e4685e2cc9f6f9f218a78576d3aed913f8cda8b9188a8a5988add04207130ad851288797bae252589077a432a65e189abbed3123abc66c2fdd171
|
7
|
+
data.tar.gz: d26deb2917c38c07bac863f21b78c9c606062668916708faeddc448e31ea8654b7c328e5986684d1b91bb9f89e51c56aa8f956398584630ca6b1706a41ba03d4
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [5.2.0] - 2023-02-28
|
9
|
+
### Added
|
10
|
+
- First-class support for Hanami (#470)
|
11
|
+
- Auto-add Sinatra optional middleware (#471). This is fine, as they don't do anything without the magic strings (and they can be disabled via config, anyway).
|
12
|
+
|
8
13
|
## [5.1.0] - 2023-01-31
|
9
14
|
### Added
|
10
15
|
- Support for `Exception#detailed_message` on Ruby 3.2 (#459)
|
@@ -5,7 +5,11 @@ module Honeybadger
|
|
5
5
|
module LogWrapper
|
6
6
|
def add(severity, message = nil, progname = nil)
|
7
7
|
org_severity, org_message, org_progname = severity, message, progname
|
8
|
-
|
8
|
+
if defined?(Dry::Logger::Entry) && progname.is_a?(Dry::Logger::Entry) # Hanami uses dry-logger
|
9
|
+
message, progname = progname.message || progname.exception, progname.progname
|
10
|
+
else
|
11
|
+
message, progname = [progname, nil] if message.nil?
|
12
|
+
end
|
9
13
|
message = message && message.to_s.strip
|
10
14
|
unless should_ignore_log?(message, progname)
|
11
15
|
Honeybadger.add_breadcrumb(message, category: :log, metadata: {
|
data/lib/honeybadger/config.rb
CHANGED
@@ -271,6 +271,8 @@ module Honeybadger
|
|
271
271
|
:rails
|
272
272
|
elsif defined?(::Sinatra::VERSION)
|
273
273
|
:sinatra
|
274
|
+
elsif defined?(::Hanami::VERSION) && ::Hanami::VERSION >= '2.0'
|
275
|
+
:hanami
|
274
276
|
elsif defined?(::Rack.release)
|
275
277
|
:rack
|
276
278
|
else
|
@@ -282,6 +284,7 @@ module Honeybadger
|
|
282
284
|
case detected_framework
|
283
285
|
when :rails then "Rails #{::Rails::VERSION::STRING}"
|
284
286
|
when :sinatra then "Sinatra #{::Sinatra::VERSION}"
|
287
|
+
when :hanami then "Hanami #{::Hanami::VERSION}"
|
285
288
|
when :rack then "Rack #{::Rack.release}"
|
286
289
|
else
|
287
290
|
"Ruby #{RUBY_VERSION}"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'honeybadger/ruby'
|
2
|
+
|
3
|
+
Honeybadger.init!({
|
4
|
+
:framework => :hanami,
|
5
|
+
:env => ENV['HANAMI_ENV'] || ENV['RACK_ENV'],
|
6
|
+
:'logging.path' => 'STDOUT'
|
7
|
+
})
|
8
|
+
|
9
|
+
Honeybadger.load_plugins!
|
10
|
+
|
11
|
+
if Hanami::VERSION >= '2.0'
|
12
|
+
Hanami.app.instance_eval do
|
13
|
+
config.middleware.use Honeybadger::Rack::UserFeedback
|
14
|
+
config.middleware.use Honeybadger::Rack::UserInformer
|
15
|
+
config.middleware.use Honeybadger::Rack::ErrorNotifier
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Honeybadger.install_at_exit_callback
|
@@ -28,7 +28,13 @@ module Honeybadger
|
|
28
28
|
def install_honeybadger
|
29
29
|
config = Honeybadger.config
|
30
30
|
return unless config[:'sinatra.enabled']
|
31
|
-
|
31
|
+
if config[:'exceptions.enabled']
|
32
|
+
# These two must come before the ErrorNotifier, since an error/response
|
33
|
+
# passes through middleware from inner to outer (bottom to top)
|
34
|
+
install_honeybadger_middleware(Honeybadger::Rack::UserFeedback)
|
35
|
+
install_honeybadger_middleware(Honeybadger::Rack::UserInformer)
|
36
|
+
install_honeybadger_middleware(Honeybadger::Rack::ErrorNotifier)
|
37
|
+
end
|
32
38
|
end
|
33
39
|
|
34
40
|
def install_honeybadger_middleware(klass)
|
data/lib/honeybadger/version.rb
CHANGED
data/lib/honeybadger.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honeybadger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Honeybadger Industries LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Make managing application errors a more pleasant experience.
|
14
14
|
email:
|
@@ -55,6 +55,7 @@ files:
|
|
55
55
|
- lib/honeybadger/const.rb
|
56
56
|
- lib/honeybadger/context_manager.rb
|
57
57
|
- lib/honeybadger/conversions.rb
|
58
|
+
- lib/honeybadger/init/hanami.rb
|
58
59
|
- lib/honeybadger/init/rails.rb
|
59
60
|
- lib/honeybadger/init/rake.rb
|
60
61
|
- lib/honeybadger/init/ruby.rb
|