sentry-rails 6.6.2 → 7.0.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/.gitignore +1 -1
- data/Gemfile +50 -0
- data/README.md +1 -1
- data/bin/test +12 -386
- data/bin/test_old +389 -0
- data/gemfiles/ruby-2.7_rails-5.2.0.gemfile.lock +266 -0
- data/gemfiles/ruby-2.7_rails-6.0.0.gemfile.lock +282 -0
- data/gemfiles/ruby-2.7_rails-6.1.0.gemfile.lock +294 -0
- data/gemfiles/ruby-2.7_rails-7.0.0.gemfile.lock +311 -0
- data/gemfiles/ruby-2.7_rails-7.1.0.gemfile.lock +348 -0
- data/gemfiles/ruby-3.0_rails-6.1.0.gemfile.lock +362 -0
- data/gemfiles/ruby-3.0_rails-7.0.0.gemfile.lock +379 -0
- data/gemfiles/ruby-3.0_rails-7.1.0.gemfile.lock +405 -0
- data/gemfiles/ruby-3.1_rails-6.1.0.gemfile.lock +493 -0
- data/gemfiles/ruby-3.1_rails-7.0.0.gemfile.lock +513 -0
- data/gemfiles/ruby-3.1_rails-7.1.0.gemfile.lock +547 -0
- data/gemfiles/ruby-3.1_rails-7.2.0.gemfile.lock +541 -0
- data/gemfiles/ruby-3.2_rails-6.1.0.gemfile.lock +493 -0
- data/gemfiles/ruby-3.2_rails-7.0.0.gemfile.lock +511 -0
- data/gemfiles/ruby-3.2_rails-7.1.0.gemfile.lock +553 -0
- data/gemfiles/ruby-3.2_rails-7.2.0.gemfile.lock +545 -0
- data/gemfiles/ruby-3.2_rails-8.0.0.gemfile.lock +544 -0
- data/gemfiles/ruby-3.3_rails-6.1.0.gemfile.lock +493 -0
- data/gemfiles/ruby-3.3_rails-7.0.0.gemfile.lock +511 -0
- data/gemfiles/ruby-3.3_rails-7.1.0.gemfile.lock +553 -0
- data/gemfiles/ruby-3.3_rails-7.2.0.gemfile.lock +545 -0
- data/gemfiles/ruby-3.3_rails-8.0.0.gemfile.lock +544 -0
- data/gemfiles/ruby-3.4_rails-7.1.0.gemfile.lock +534 -0
- data/gemfiles/ruby-3.4_rails-7.2.0.gemfile.lock +528 -0
- data/gemfiles/ruby-3.4_rails-8.0.0.gemfile.lock +523 -0
- data/gemfiles/ruby-3.4_rails-8.1.3.gemfile.lock +527 -0
- data/gemfiles/ruby-4.0_rails-6.1.0.gemfile.lock +476 -0
- data/gemfiles/ruby-4.0_rails-7.0.0.gemfile.lock +492 -0
- data/gemfiles/ruby-4.0_rails-7.1.0.gemfile.lock +534 -0
- data/gemfiles/ruby-4.0_rails-8.0.0.gemfile.lock +523 -0
- data/gemfiles/ruby-4.0_rails-8.1.3.gemfile.lock +527 -0
- data/gemfiles/ruby-jruby-9.4.14.0_rails-6.1.0.gemfile.lock +369 -0
- data/gemfiles/ruby-jruby-9.4.14.0_rails-7.0.0.gemfile.lock +391 -0
- data/gemfiles/ruby-jruby-9.4.14.0_rails-7.1.0.gemfile.lock +425 -0
- data/lib/sentry/rails/active_job.rb +188 -29
- data/lib/sentry/rails/breadcrumb/active_support_logger.rb +30 -0
- data/lib/sentry/rails/capture_exceptions.rb +8 -1
- data/lib/sentry/rails/configuration.rb +14 -2
- data/lib/sentry/rails/controller_transaction.rb +24 -3
- data/lib/sentry/rails/error_reporter_context.rb +24 -0
- data/lib/sentry/rails/log_subscribers/action_controller_subscriber.rb +3 -7
- data/lib/sentry/rails/log_subscribers/action_mailer_subscriber.rb +5 -9
- data/lib/sentry/rails/log_subscribers/active_job_subscriber.rb +5 -7
- data/lib/sentry/rails/log_subscribers/active_record_subscriber.rb +1 -5
- data/lib/sentry/rails/railtie.rb +8 -1
- data/lib/sentry/rails/serializer.rb +35 -0
- data/lib/sentry/rails/tracing/active_storage_subscriber.rb +4 -1
- data/lib/sentry/rails/version.rb +1 -1
- data/sentry-rails.gemspec +2 -2
- metadata +45 -9
- data/lib/sentry/rails/log_subscribers/parameter_filter.rb +0 -52
|
@@ -34,7 +34,10 @@ module Sentry
|
|
|
34
34
|
) do |span|
|
|
35
35
|
payload.each do |key, value|
|
|
36
36
|
next if key == START_TIMESTAMP_NAME
|
|
37
|
-
|
|
37
|
+
# Active Storage keys are automatically generated storage data,
|
|
38
|
+
# rather than URL/query data. Use the database query-data switch
|
|
39
|
+
# for the legacy PII-compatible on/off behavior.
|
|
40
|
+
next if key == :key && !Sentry.configuration.data_collection.database_query_data
|
|
38
41
|
|
|
39
42
|
span.set_data(key, value)
|
|
40
43
|
end
|
data/lib/sentry/rails/version.rb
CHANGED
data/sentry-rails.gemspec
CHANGED
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
|
13
13
|
spec.platform = Gem::Platform::RUBY
|
|
14
14
|
spec.required_ruby_version = '>= 2.7'
|
|
15
15
|
spec.extra_rdoc_files = ["README.md", "LICENSE.txt"]
|
|
16
|
-
spec.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples|\.rubocop\.yml)'`.split("\n")
|
|
16
|
+
spec.files = `git ls-files | grep -Ev '^(spec|benchmarks|examples|test-matrix\.json|\.rubocop\.yml)'`.split("\n")
|
|
17
17
|
|
|
18
18
|
github_root_uri = 'https://github.com/getsentry/sentry-ruby'
|
|
19
19
|
spec.homepage = "#{github_root_uri}/tree/#{spec.version}/#{spec.name}"
|
|
@@ -31,5 +31,5 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.require_paths = ["lib"]
|
|
32
32
|
|
|
33
33
|
spec.add_dependency "railties", ">= 5.2.0"
|
|
34
|
-
spec.add_dependency "sentry-ruby", "~>
|
|
34
|
+
spec.add_dependency "sentry-ruby", "~> 7.0.0"
|
|
35
35
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sentry-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 7.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sentry Team
|
|
@@ -29,14 +29,14 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 7.0.0
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version:
|
|
39
|
+
version: 7.0.0
|
|
40
40
|
description: A gem that provides Rails integration for the Sentry error logger
|
|
41
41
|
email: accounts@sentry.io
|
|
42
42
|
executables: []
|
|
@@ -57,6 +57,41 @@ files:
|
|
|
57
57
|
- bin/console
|
|
58
58
|
- bin/setup
|
|
59
59
|
- bin/test
|
|
60
|
+
- bin/test_old
|
|
61
|
+
- gemfiles/ruby-2.7_rails-5.2.0.gemfile.lock
|
|
62
|
+
- gemfiles/ruby-2.7_rails-6.0.0.gemfile.lock
|
|
63
|
+
- gemfiles/ruby-2.7_rails-6.1.0.gemfile.lock
|
|
64
|
+
- gemfiles/ruby-2.7_rails-7.0.0.gemfile.lock
|
|
65
|
+
- gemfiles/ruby-2.7_rails-7.1.0.gemfile.lock
|
|
66
|
+
- gemfiles/ruby-3.0_rails-6.1.0.gemfile.lock
|
|
67
|
+
- gemfiles/ruby-3.0_rails-7.0.0.gemfile.lock
|
|
68
|
+
- gemfiles/ruby-3.0_rails-7.1.0.gemfile.lock
|
|
69
|
+
- gemfiles/ruby-3.1_rails-6.1.0.gemfile.lock
|
|
70
|
+
- gemfiles/ruby-3.1_rails-7.0.0.gemfile.lock
|
|
71
|
+
- gemfiles/ruby-3.1_rails-7.1.0.gemfile.lock
|
|
72
|
+
- gemfiles/ruby-3.1_rails-7.2.0.gemfile.lock
|
|
73
|
+
- gemfiles/ruby-3.2_rails-6.1.0.gemfile.lock
|
|
74
|
+
- gemfiles/ruby-3.2_rails-7.0.0.gemfile.lock
|
|
75
|
+
- gemfiles/ruby-3.2_rails-7.1.0.gemfile.lock
|
|
76
|
+
- gemfiles/ruby-3.2_rails-7.2.0.gemfile.lock
|
|
77
|
+
- gemfiles/ruby-3.2_rails-8.0.0.gemfile.lock
|
|
78
|
+
- gemfiles/ruby-3.3_rails-6.1.0.gemfile.lock
|
|
79
|
+
- gemfiles/ruby-3.3_rails-7.0.0.gemfile.lock
|
|
80
|
+
- gemfiles/ruby-3.3_rails-7.1.0.gemfile.lock
|
|
81
|
+
- gemfiles/ruby-3.3_rails-7.2.0.gemfile.lock
|
|
82
|
+
- gemfiles/ruby-3.3_rails-8.0.0.gemfile.lock
|
|
83
|
+
- gemfiles/ruby-3.4_rails-7.1.0.gemfile.lock
|
|
84
|
+
- gemfiles/ruby-3.4_rails-7.2.0.gemfile.lock
|
|
85
|
+
- gemfiles/ruby-3.4_rails-8.0.0.gemfile.lock
|
|
86
|
+
- gemfiles/ruby-3.4_rails-8.1.3.gemfile.lock
|
|
87
|
+
- gemfiles/ruby-4.0_rails-6.1.0.gemfile.lock
|
|
88
|
+
- gemfiles/ruby-4.0_rails-7.0.0.gemfile.lock
|
|
89
|
+
- gemfiles/ruby-4.0_rails-7.1.0.gemfile.lock
|
|
90
|
+
- gemfiles/ruby-4.0_rails-8.0.0.gemfile.lock
|
|
91
|
+
- gemfiles/ruby-4.0_rails-8.1.3.gemfile.lock
|
|
92
|
+
- gemfiles/ruby-jruby-9.4.14.0_rails-6.1.0.gemfile.lock
|
|
93
|
+
- gemfiles/ruby-jruby-9.4.14.0_rails-7.0.0.gemfile.lock
|
|
94
|
+
- gemfiles/ruby-jruby-9.4.14.0_rails-7.1.0.gemfile.lock
|
|
60
95
|
- lib/generators/sentry_generator.rb
|
|
61
96
|
- lib/sentry-rails.rb
|
|
62
97
|
- lib/sentry/rails.rb
|
|
@@ -70,16 +105,17 @@ files:
|
|
|
70
105
|
- lib/sentry/rails/controller_methods.rb
|
|
71
106
|
- lib/sentry/rails/controller_transaction.rb
|
|
72
107
|
- lib/sentry/rails/engine.rb
|
|
108
|
+
- lib/sentry/rails/error_reporter_context.rb
|
|
73
109
|
- lib/sentry/rails/error_subscriber.rb
|
|
74
110
|
- lib/sentry/rails/log_subscriber.rb
|
|
75
111
|
- lib/sentry/rails/log_subscribers/action_controller_subscriber.rb
|
|
76
112
|
- lib/sentry/rails/log_subscribers/action_mailer_subscriber.rb
|
|
77
113
|
- lib/sentry/rails/log_subscribers/active_job_subscriber.rb
|
|
78
114
|
- lib/sentry/rails/log_subscribers/active_record_subscriber.rb
|
|
79
|
-
- lib/sentry/rails/log_subscribers/parameter_filter.rb
|
|
80
115
|
- lib/sentry/rails/overrides/streaming_reporter.rb
|
|
81
116
|
- lib/sentry/rails/railtie.rb
|
|
82
117
|
- lib/sentry/rails/rescued_exception_interceptor.rb
|
|
118
|
+
- lib/sentry/rails/serializer.rb
|
|
83
119
|
- lib/sentry/rails/structured_logging.rb
|
|
84
120
|
- lib/sentry/rails/tracing.rb
|
|
85
121
|
- lib/sentry/rails/tracing/abstract_subscriber.rb
|
|
@@ -89,15 +125,15 @@ files:
|
|
|
89
125
|
- lib/sentry/rails/tracing/active_support_subscriber.rb
|
|
90
126
|
- lib/sentry/rails/version.rb
|
|
91
127
|
- sentry-rails.gemspec
|
|
92
|
-
homepage: https://github.com/getsentry/sentry-ruby/tree/
|
|
128
|
+
homepage: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
|
|
93
129
|
licenses:
|
|
94
130
|
- MIT
|
|
95
131
|
metadata:
|
|
96
|
-
homepage_uri: https://github.com/getsentry/sentry-ruby/tree/
|
|
97
|
-
source_code_uri: https://github.com/getsentry/sentry-ruby/tree/
|
|
98
|
-
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/
|
|
132
|
+
homepage_uri: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
|
|
133
|
+
source_code_uri: https://github.com/getsentry/sentry-ruby/tree/7.0.0/sentry-rails
|
|
134
|
+
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/7.0.0/CHANGELOG.md
|
|
99
135
|
bug_tracker_uri: https://github.com/getsentry/sentry-ruby/issues
|
|
100
|
-
documentation_uri: http://www.rubydoc.info/gems/sentry-rails/
|
|
136
|
+
documentation_uri: http://www.rubydoc.info/gems/sentry-rails/7.0.0
|
|
101
137
|
rdoc_options: []
|
|
102
138
|
require_paths:
|
|
103
139
|
- lib
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Sentry
|
|
4
|
-
module Rails
|
|
5
|
-
module LogSubscribers
|
|
6
|
-
# Shared utility module for filtering sensitive parameters in log subscribers.
|
|
7
|
-
#
|
|
8
|
-
# This module provides consistent parameter filtering across all Sentry Rails
|
|
9
|
-
# log subscribers, leveraging Rails' built-in parameter filtering when available.
|
|
10
|
-
# It automatically detects the correct Rails parameter filtering API based on
|
|
11
|
-
# the Rails version and includes the appropriate implementation module.
|
|
12
|
-
#
|
|
13
|
-
# @example Usage in a log subscriber
|
|
14
|
-
# class MySubscriber < Sentry::Rails::LogSubscriber
|
|
15
|
-
# include Sentry::Rails::LogSubscribers::ParameterFilter
|
|
16
|
-
#
|
|
17
|
-
# def my_event(event)
|
|
18
|
-
# if Sentry.configuration.send_default_pii && event.payload[:params]
|
|
19
|
-
# filtered_params = filter_sensitive_params(event.payload[:params])
|
|
20
|
-
# attributes[:params] = filtered_params unless filtered_params.empty?
|
|
21
|
-
# end
|
|
22
|
-
# end
|
|
23
|
-
# end
|
|
24
|
-
module ParameterFilter
|
|
25
|
-
EMPTY_HASH = {}.freeze
|
|
26
|
-
|
|
27
|
-
if ::Rails.version.to_f >= 6.0
|
|
28
|
-
def self.backend
|
|
29
|
-
ActiveSupport::ParameterFilter
|
|
30
|
-
end
|
|
31
|
-
else
|
|
32
|
-
def self.backend
|
|
33
|
-
ActionDispatch::Http::ParameterFilter
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# Filter sensitive parameters from a hash, respecting Rails configuration.
|
|
38
|
-
#
|
|
39
|
-
# @param params [Hash] The parameters to filter
|
|
40
|
-
# @return [Hash] Filtered parameters with sensitive data removed
|
|
41
|
-
def filter_sensitive_params(params)
|
|
42
|
-
return EMPTY_HASH unless params.is_a?(Hash)
|
|
43
|
-
|
|
44
|
-
filter_parameters = ::Rails.application.config.filter_parameters
|
|
45
|
-
parameter_filter = ParameterFilter.backend.new(filter_parameters)
|
|
46
|
-
|
|
47
|
-
parameter_filter.filter(params)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|