honeybadger 5.1.0 → 5.2.0
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 +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
|