Skip to content

Commit 14e2069

Browse files
author
Alex Martsinovich
authored
Remain compatible with new translation format to be introduced in Elixir 1.19 (#885)
1 parent fd2e473 commit 14e2069

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

lib/sentry/logger_handler.ex

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,16 @@ defmodule Sentry.LoggerHandler do
360360
end
361361
end
362362

363+
# Elixir 1.19 puts string translation inside the report instead of replacing
364+
# it completely. We switch it back for compatibility with existing code.
365+
defp log_unfiltered(
366+
%{msg: {:report, %{elixir_translation: unicode_chardata}}} = log_event,
367+
sentry_opts,
368+
%__MODULE__{} = config
369+
) do
370+
log_unfiltered(%{log_event | msg: {:string, unicode_chardata}}, sentry_opts, config)
371+
end
372+
363373
# A string was logged. We check for the :crash_reason metadata and try to build a sensible
364374
# report from there, otherwise we use the logged string directly.
365375
defp log_unfiltered(

test/sentry/logger_handler_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ defmodule Sentry.LoggerHandlerTest do
154154
assert %KeyError{} = event.original_exception
155155
assert [exception] = event.exception
156156
assert exception.type == "KeyError"
157-
assert exception.value == "key :foo not found in: []"
157+
assert exception.value =~ ~r"key :foo not found in:\s+\[\]"
158158
assert Enum.find(exception.stacktrace.frames, &(&1.function =~ "Keyword.fetch!/2"))
159159
end
160160
end
@@ -286,7 +286,7 @@ defmodule Sentry.LoggerHandlerTest do
286286
assert %KeyError{} = event.original_exception
287287
assert [exception] = event.exception
288288
assert exception.type == "KeyError"
289-
assert exception.value == "key :foo not found in: []"
289+
assert exception.value =~ ~r"key :foo not found in:\s+\[\]"
290290
assert Enum.find(exception.stacktrace.frames, &(&1.function =~ "Keyword.fetch!/2"))
291291
end
292292

0 commit comments

Comments
 (0)