Skip to content

Commit f8647da

Browse files
author
José Valim
committed
Ensure backends receive the id when added, closes #2635
1 parent 39fa287 commit f8647da

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

lib/logger/lib/logger.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ defmodule Logger do
237237

238238
handlers =
239239
for backend <- Application.get_env(:logger, :backends) do
240-
{Logger, translate_backend(backend), []}
240+
{Logger, translate_backend(backend), backend}
241241
end
242242

243243
options = [strategy: :rest_for_one, name: Logger.Supervisor]
@@ -355,7 +355,7 @@ defmodule Logger do
355355
"""
356356
def add_backend(backend, opts \\ []) do
357357
_ = if opts[:flush], do: GenEvent.which_handlers(:error_logger)
358-
Logger.Watcher.watch(Logger, translate_backend(backend), [])
358+
Logger.Watcher.watch(Logger, translate_backend(backend), backend)
359359
end
360360

361361
@doc """

lib/logger/test/logger_test.exs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@ defmodule LoggerTest do
4444
{:error, {:already_started, pid}}
4545
end
4646

47+
test "add_backend/1 with {module, id}" do
48+
defmodule MyBackend do
49+
use GenEvent
50+
51+
def init({MyBackend, :hello}) do
52+
{:ok, :hello}
53+
end
54+
end
55+
56+
assert {:ok, _} = Logger.add_backend({MyBackend, :hello})
57+
assert {:error, {:already_started, _}} = Logger.add_backend({MyBackend, :hello})
58+
assert :ok = Logger.remove_backend({MyBackend, :hello})
59+
end
60+
4761
test "level/0" do
4862
assert Logger.level == :debug
4963
end

0 commit comments

Comments
 (0)