Packages
file_only_logger
0.2.27
0.2.70
0.2.69
0.2.65
0.2.64
0.2.63
0.2.62
0.2.61
0.2.60
0.2.59
0.2.58
0.2.57
0.2.56
0.2.55
0.2.54
0.2.53
0.2.52
0.2.51
0.2.50
0.2.49
0.2.48
0.2.47
0.2.45
0.2.44
0.2.43
0.2.42
0.2.41
0.2.40
0.2.39
0.2.38
0.2.37
0.2.36
0.2.35
0.2.34
0.2.33
0.2.31
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.1.58
0.1.57
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.0
A simple logger that writes messages to log files only (not to the console).
Current section
Files
Jump to
Current section
Files
lib/file/only/logger/app.ex
defmodule File.Only.Logger.App do
use Application
@spec start(Application.start_type(), term) :: {:ok, pid}
def start(_start_type, :ok = _start_args) do
# dbg_handler_config("Before preventing console messages...", __ENV__)
# Prevent console messages...
:ok = :logger.set_handler_config(:default, :level, :none)
# dbg_handler_config("After preventing console messages...", __ENV__)
# Add debug, info, warning and error handlers...
case Logger.add_handlers(:file_only_logger) do
:ok ->
# Allow console messages...
:ok = :logger.set_handler_config(:default, :level, Logger.level())
# dbg_handler_config("After allowing console messages...", __ENV__)
{:ok, self()}
# Likely due to compile time configuration in map_sorter...
# Will log error message ==> Invalid logger handler config:
# {:file_only_logger, {:already_exist, :debug_handler}}
{:error,
{:bad_config, {:handler, {:file_only_logger, {:already_exist, _id}}}}} ->
# Allow console messages...
:ok = :logger.set_handler_config(:default, :level, Logger.level())
# dbg_handler_config("After allowing console messages...", __ENV__)
{:ok, self()}
end
end
## Private functions
# defp get_handler_config(id, color) do
# case :logger.get_handler_config(id) do
# {:ok, %{config: %{type: :file, file: file}, level: _level}} ->
# file
# {:ok,
# %{
# config: %{type: :standard_io},
# level: level,
# formatter: {Logger.Formatter, %Logger.Formatter{colors: colors}}
# }} ->
# {id, level, colors[color]}
# {:error, {:not_found, ^id} = error} ->
# error
# end
# end
# @sep "==========================================================="
# @cyan "\e[36m"
# @light_cyan "\e[96m"
# @reset "\e[0m"
# defp dbg_handler_config(msg, env) do
# """
# #{@cyan}#{@sep}
# #{@light_cyan}#{msg}
# #{inspect(env.module)}.#{inspect(env.function)}:#{env.line}
# #{get_handler_config(:debug_handler, :debug) |> inspect()}
# #{get_handler_config(:default, :debug) |> inspect()}
# #{@cyan}#{@sep}#{@reset}
# """
# |> IO.puts()
# end
end