I had this exact issue, changing to level: :info
worked wonders.
However, now my test output is really noisy. Any way to get the benefits of warn
with respect to test output but still able to capture info
?
Am I reading this incorrectly? elixir/lib/ex_unit/lib/ex_unit/capture_log.ex at v1.7.4 · elixir-lang/elixir · GitHub
It is possible to configure the level to capture with
:level
, which will set the capturing level for the duration of the capture, for instance, if the log level is set to :error any message with the lower level will be ignored. The default level isnil
, which will capture all messages. The behaviour is undetermined if async tests change Logger level.
I would expect that, even if config :logger, level: :warn
is set, that
capture_log([level: :info], fn ->
Logger.info "..."
end)
would still capture, though that would seemingly contradict
The
Logger.info/2
macro emits the provided message at the:info
level. Note the arguments given toinfo/2
will only be evaluated if a message is logged. For instance, if the Logger level is set to:warn
,:info
messages are never logged and therefore the arguments given above won’t even be executed.