@@ -136,7 +136,7 @@ defmodule Sentry.LoggerHandlerTest do
136136 end
137137
138138 @ tag handler_config: % { capture_log_messages: true }
139- test "support structured logs" , % { sender_ref: ref } do
139+ test "support structured logs keyword " , % { sender_ref: ref } do
140140 Logger . error ( foo: "bar" )
141141
142142 assert_receive { ^ ref , event }
@@ -145,6 +145,28 @@ defmodule Sentry.LoggerHandlerTest do
145145 refute_received { ^ ref , _event } , 100
146146 end
147147
148+ test "support structured logs map" , % { sender_ref: ref } do
149+ Logger . error ( % { foo: "bar" } )
150+
151+ assert_receive { ^ ref , event }
152+ assert event . message . formatted == "%{foo: \" bar\" }"
153+
154+ refute_received { ^ ref , _event } , 100
155+ end
156+
157+ defmodule Foo do
158+ defstruct [ :bar ]
159+ end
160+
161+ test "support structured logs struct" , % { sender_ref: ref } do
162+ Logger . error ( % Foo { } )
163+
164+ assert_receive { ^ ref , event }
165+ assert event . message . formatted == "%Sentry.LoggerHandlerTest.Foo{bar: nil}"
166+
167+ refute_received { ^ ref , _event } , 100
168+ end
169+
148170 @ tag handler_config: % { capture_log_messages: true , level: :warning }
149171 test "respects the configured :level" , % { sender_ref: ref } do
150172 Logger . log ( :warning , "Testing warning" )
0 commit comments