Skip to content

Commit 88d3084

Browse files
committed
fix: translate elixir :warn log level to :warning
Elixir 1.15 hard-depcreates Logger.warn. Custom logger backends that still use the legacy custom backend API must translate the log level to avoid emitting a deprecation warning.
1 parent b915794 commit 88d3084

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

lib/sentry/logger_backend.ex

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ defmodule Sentry.LoggerBackend do
7070
end
7171

7272
def handle_event({level, _gl, {Logger, msg, _ts, meta}}, state) do
73+
level = maybe_ensure_warning_level(level)
74+
7375
if Logger.compare_levels(level, state.level) != :lt and
7476
not excluded_domain?(meta[:domain], state) do
7577
log(level, msg, meta, state)
@@ -189,4 +191,14 @@ defmodule Sentry.LoggerBackend do
189191
"debug"
190192
end
191193
end
194+
195+
defp maybe_ensure_warning_level(:warn) do
196+
if Version.compare(System.version, "1.11.0") == :lt do
197+
:warn
198+
else
199+
:warning
200+
end
201+
end
202+
203+
defp maybe_ensure_warning_level(level), do: level
192204
end

test/logger_backend_test.exs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ defmodule Sentry.LoggerBackendTest do
421421

422422
capture_log(fn ->
423423
Sentry.Context.set_user_context(%{user_id: 3})
424-
Logger.warn("testing")
424+
Logger.warning("testing")
425425
assert_receive("API called")
426426
end)
427427
after
@@ -566,7 +566,7 @@ defmodule Sentry.LoggerBackendTest do
566566
end)
567567

568568
capture_log(fn ->
569-
Logger.warn("warn")
569+
Logger.warning("warn")
570570

571571
assert_receive("API called")
572572
end)

0 commit comments

Comments
 (0)