Files
n8n-openai-adapter/lib/logger/test/logger/backends/console_test.exs
T
José Valim a0be9fe272 Improve Logger formatter defaults
* Make colors in the docs consistent with the ones in the code
* Add new lines before and after each message
2014-08-15 18:30:30 +02:00

99 lines
2.5 KiB
Elixir

defmodule Logger.Backends.ConsoleTest do
use Logger.Case
require Logger
setup do
on_exit fn ->
:ok = Logger.configure_backend(:console,
[format: nil, level: nil, metadata: [], colors: [enabled: false]])
end
end
test "does not start when there is no user" do
user = Process.whereis(:user)
try do
Process.unregister(:user)
assert GenEvent.add_handler(Logger, Logger.Backends.Console, []) ==
{:error, :ignore}
after
Process.register(user, :user)
end
end
test "can configure format" do
Logger.configure_backend(:console, format: "$message [$level]")
assert capture_log(fn ->
Logger.debug("hello")
end) =~ "hello [debug]"
end
test "can configure metadata" do
Logger.configure_backend(:console, format: "$metadata$message", metadata: [:user_id])
assert capture_log(fn ->
Logger.debug("hello")
end) =~ "hello"
Logger.metadata(user_id: 11)
Logger.metadata(user_id: 13)
assert capture_log(fn ->
Logger.debug("user_id=13 hello")
end) =~ "hello"
end
test "can configure level" do
Logger.configure_backend(:console, level: :info)
assert capture_log(fn ->
Logger.debug("hello")
end) == ""
end
test "can configure colors" do
Logger.configure_backend(:console, [format: "$message", colors: [enabled: true]])
assert capture_log(fn ->
Logger.debug("hello")
end) == IO.ANSI.cyan() <> "hello" <> IO.ANSI.reset()
Logger.configure_backend(:console, [colors: [debug: :magenta]])
assert capture_log(fn ->
Logger.debug("hello")
end) == IO.ANSI.magenta() <> "hello" <> IO.ANSI.reset()
assert capture_log(fn ->
Logger.info("hello")
end) == IO.ANSI.normal() <> "hello" <> IO.ANSI.reset()
Logger.configure_backend(:console, [colors: [info: :cyan]])
assert capture_log(fn ->
Logger.info("hello")
end) == IO.ANSI.cyan() <> "hello" <> IO.ANSI.reset()
assert capture_log(fn ->
Logger.warn("hello")
end) == IO.ANSI.yellow() <> "hello" <> IO.ANSI.reset()
Logger.configure_backend(:console, [colors: [warn: :cyan]])
assert capture_log(fn ->
Logger.warn("hello")
end) == IO.ANSI.cyan() <> "hello" <> IO.ANSI.reset()
assert capture_log(fn ->
Logger.error("hello")
end) == IO.ANSI.red() <> "hello" <> IO.ANSI.reset()
Logger.configure_backend(:console, [colors: [error: :cyan]])
assert capture_log(fn ->
Logger.error("hello")
end) == IO.ANSI.cyan() <> "hello" <> IO.ANSI.reset()
end
end