Skip to content

Commit 10d3bfe

Browse files
committed
Fix breadcrumbs with warn level not being ingested
Fixes #2145
1 parent 1c0550f commit 10d3bfe

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
### Bug Fixes
44

5-
- Fix puma integration for versions before v5 ([#2141](https://github.com/getsentry/sentry-ruby/pull/2141))
5+
- Fix puma integration for versions before v5 [#2141](https://github.com/getsentry/sentry-ruby/pull/2141)
6+
- Fix breadcrumbs with `warn` level not being ingested [#2150](https://github.com/getsentry/sentry-ruby/pull/2150)
7+
- Fixes [#2145](https://github.com/getsentry/sentry-ruby/issues/2145)
68

79
## 5.12.0
810

sentry-ruby/lib/sentry/breadcrumb.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class Breadcrumb
99
# @return [Hash, nil]
1010
attr_accessor :data
1111
# @return [String, nil]
12-
attr_accessor :level
12+
attr_reader :level
1313
# @return [Time, Integer, nil]
1414
attr_accessor :timestamp
1515
# @return [String, nil]
@@ -26,10 +26,10 @@ class Breadcrumb
2626
def initialize(category: nil, data: nil, message: nil, timestamp: nil, level: nil, type: nil)
2727
@category = category
2828
@data = data || {}
29-
@level = level
3029
@timestamp = timestamp || Sentry.utc_now.to_i
3130
@type = type
3231
self.message = message
32+
self.level = level
3333
end
3434

3535
# @return [Hash]
@@ -50,6 +50,12 @@ def message=(message)
5050
@message = (message || "").byteslice(0..Event::MAX_MESSAGE_SIZE_IN_BYTES)
5151
end
5252

53+
# @param level [String]
54+
# @return [void]
55+
def level=(level) # needed to meet the Sentry spec
56+
@level = level == "warn" ? "warning" : level
57+
end
58+
5359
private
5460

5561
def serialized_data

sentry-ruby/spec/sentry/breadcrumb_spec.rb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@
2323
crumb = described_class.new(message: long_message)
2424
expect(crumb.message.length).to eq(Sentry::Event::MAX_MESSAGE_SIZE_IN_BYTES + 1)
2525
end
26+
27+
it "sets the level to warning if warn" do
28+
crumb = described_class.new(level: "warn")
29+
expect(crumb.level).to eq("warning")
30+
end
2631
end
2732

2833
describe "#message=" do
@@ -35,6 +40,20 @@
3540
end
3641
end
3742

43+
describe "#level=" do
44+
it "sets the level" do
45+
crumb = described_class.new
46+
crumb.level = "error"
47+
expect(crumb.level).to eq("error")
48+
end
49+
50+
it "sets the level to warning if warn" do
51+
crumb = described_class.new
52+
crumb.level = "warn"
53+
expect(crumb.level).to eq("warning")
54+
end
55+
end
56+
3857
describe "#to_hash" do
3958
let(:problematic_crumb) do
4059
# circular reference

0 commit comments

Comments
 (0)