Skip to content

Commit ef71ce1

Browse files
Merge pull request #430 from getsentry/set-logger-event-to-log-level
Set logger event level to logger message level
2 parents 700f0f9 + cd6203b commit ef71ce1

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

lib/sentry/logger_backend.ex

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ defmodule Sentry.LoggerBackend do
103103
opts =
104104
[
105105
event_source: :logger,
106+
level: "#{level}",
106107
extra: %{logger_metadata: logger_metadata(meta, state), logger_level: level},
107108
result: :none
108109
] ++ Map.to_list(sentry)

test/logger_backend_test.exs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,30 @@ defmodule Sentry.LoggerBackendTest do
415415
end)
416416
end
417417

418+
test "sets event level to Logger message level" do
419+
Logger.configure_backend(Sentry.LoggerBackend, level: :warn, capture_log_messages: true)
420+
bypass = Bypass.open()
421+
modify_env(:sentry, dsn: "http://public:secret@localhost:#{bypass.port}/1")
422+
pid = self()
423+
424+
Bypass.expect_once(bypass, fn conn ->
425+
{:ok, body, conn} = Plug.Conn.read_body(conn)
426+
json = Jason.decode!(body)
427+
assert json["message"] == "warn"
428+
assert json["level"] == "warn"
429+
send(pid, "API called")
430+
Plug.Conn.resp(conn, 200, ~s<{"id": "340"}>)
431+
end)
432+
433+
capture_log(fn ->
434+
Logger.warn("warn")
435+
436+
assert_receive("API called")
437+
end)
438+
after
439+
Logger.configure_backend(Sentry.LoggerBackend, level: :error, capture_log_messages: false)
440+
end
441+
418442
def task(parent, fun \\ fn -> raise "oops" end) do
419443
mon = Process.monitor(parent)
420444
Process.unlink(parent)

0 commit comments

Comments
 (0)