@@ -123,6 +123,42 @@ defmodule Sentry.LoggerHandlerTest do
123123 describe "with Bandit" do
124124 end
125125
126+ describe "with capture_log_messages: false" do
127+ @ tag handler_config: % { capture_log_messages: false }
128+ test "doesn't send error messages by default" , % { sender_ref: ref } do
129+ Logger . error ( "Testing error" )
130+
131+ refute_received { ^ ref , _event } , 100
132+ end
133+
134+ @ tag handler_config: % { capture_log_messages: false }
135+ test "doesn't send structured logs keyword" , % { sender_ref: ref } do
136+ Logger . error ( foo: "bar" )
137+
138+ refute_received { ^ ref , _event } , 100
139+ end
140+
141+ @ tag handler_config: % { capture_log_messages: false }
142+ test "doesn't send structured logs map" , % { sender_ref: ref } do
143+ Logger . error ( % { foo: "bar" } )
144+
145+ refute_received { ^ ref , _event } , 100
146+ end
147+
148+ @ tag handler_config: % { capture_log_messages: false }
149+ test "still captures crashes" , % { sender_ref: ref } do
150+ pid = start_supervised! ( TestGenServer , restart: :temporary )
151+ run_and_catch_exit ( pid , fn -> Keyword . fetch! ( [ ] , :foo ) end )
152+
153+ assert_receive { ^ ref , event }
154+ assert % KeyError { } = event . original_exception
155+ assert [ exception ] = event . exception
156+ assert exception . type == "KeyError"
157+ assert exception . value == "key :foo not found in: []"
158+ assert Enum . find ( exception . stacktrace . frames , & ( & 1 . function =~ "Keyword.fetch!/2" ) )
159+ end
160+ end
161+
126162 describe "with capture_log_messages: true" do
127163 @ tag handler_config: % { capture_log_messages: true }
128164 test "sends error messages by default" , % { sender_ref: ref } do
@@ -145,6 +181,7 @@ defmodule Sentry.LoggerHandlerTest do
145181 refute_received { ^ ref , _event } , 100
146182 end
147183
184+ @ tag handler_config: % { capture_log_messages: true }
148185 test "support structured logs map" , % { sender_ref: ref } do
149186 Logger . error ( % { foo: "bar" } )
150187
@@ -158,6 +195,7 @@ defmodule Sentry.LoggerHandlerTest do
158195 defstruct [ :bar ]
159196 end
160197
198+ @ tag handler_config: % { capture_log_messages: true }
161199 test "support structured logs struct" , % { sender_ref: ref } do
162200 Logger . error ( % Foo { } )
163201
0 commit comments