1
0
Fork 0
mirror of https://git.pleroma.social/pleroma/pleroma.git synced 2026-02-15 17:16:57 +00:00

Elixir 1.19: Warn on adding :console to Logger backends

Logger.Backend.Console still exists, but it is unused in our
configuration. Instead logging to console is done from Logger's
"default_handler".
This commit is contained in:
Phantasm 2026-01-12 19:35:12 +01:00
parent bfae2e790d
commit b35573c6b5
No known key found for this signature in database
GPG key ID: 2669E588BCC634C8
2 changed files with 30 additions and 9 deletions

View file

@ -117,27 +117,37 @@ defmodule Pleroma.Application do
def configure_logger do
Config.get([:logger, :backends], [])
|> Enum.each(fn backend ->
backend = backend_to_logger(backend)
case backend_to_logger(backend) do
{:ok, logger} ->
add_logger(logger)
case LoggerBackends.add(backend) do
{:ok, _} ->
Logger.debug("Successfully added logger backend: #{inspect(backend)}")
{:error, reason} ->
Logger.error("Failed to add logger backend #{inspect(backend)}: #{inspect(reason)}")
{:error, :console_backend} ->
Logger.warning(":console is no longer considered a backend and is enabled by default")
end
end)
end
defp add_logger(backend) do
case LoggerBackends.add(backend) do
{:ok, _} ->
Logger.debug("Successfully added logger backend: #{inspect(backend)}")
{:error, reason} ->
Logger.error("Failed to add logger backend #{inspect(backend)}: #{inspect(reason)}")
end
end
defp backend_to_logger(:console), do: {:error, :console_backend}
defp backend_to_logger({:ex_syslogger = backend, name}) do
Logger.warning(
"Configuration {:#{backend}, :#{name}} is incorrect. Use {ExSyslogger, :#{name}} instead!"
)
{ExSyslogger, name}
{:ok, {ExSyslogger, name}}
end
defp backend_to_logger(backend), do: backend
defp backend_to_logger(backend), do: {:ok, backend}
def load_custom_modules do
dir = Config.get([:modules, :runtime_dir])

View file

@ -19,4 +19,15 @@ defmodule Pleroma.ApplicationTest do
assert log =~ "Successfully added logger backend: {ExSyslogger, :ex_syslogger}"
end
end
describe "config :pleroma, :logger, :backends: [:console]" do
setup do
clear_config([:logger, :backends], [:console])
end
test "emits a warning" do
assert capture_log(fn -> Pleroma.Application.configure_logger() end) =~
":console is no longer considered a backend and is enabled by default"
end
end
end