diff --git a/lib/logger/lib/logger.ex b/lib/logger/lib/logger.ex index bb10e5d063e..7eab7eafe95 100644 --- a/lib/logger/lib/logger.ex +++ b/lib/logger/lib/logger.ex @@ -445,6 +445,13 @@ defmodule Logger do @levels [:error, :info, :debug] ++ @new_erlang_levels @metadata :logger_level + @doc ~S""" + Returns all the available levels. + """ + @doc since: "1.16.0" + @spec levels() :: [level(), ...] + def levels(), do: @levels + @doc ~S""" Returns the default formatter used by Logger. diff --git a/lib/logger/test/logger_test.exs b/lib/logger/test/logger_test.exs index d9ee5eb8381..2d26722711d 100644 --- a/lib/logger/test/logger_test.exs +++ b/lib/logger/test/logger_test.exs @@ -16,6 +16,11 @@ defmodule LoggerTest do msg("module=LoggerTest #{text}") end + test "levels/0" do + assert [_ | _] = Logger.levels() + assert :info in Logger.levels() + end + test "level/0" do assert Logger.level() == :debug