Packages
file_only_logger
0.2.50
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
config/config_logger.exs
import Config
# Configuration values...
format = "\n$date $time [$level] $message\n"
truncate_default_in_bytes = 8 * 1024
truncate_in_bytes = truncate_default_in_bytes
config = %{file: ??, file_check: 5000, max_no_bytes: 300_000, max_no_files: 5}
# By ascending log level...
colors = [
debug: :light_cyan,
info: :light_green,
warning: :light_yellow,
error: :light_red
]
# Log file paths...
root_dir = File.cwd!()
debug_path = ~c"#{root_dir}/log/debug.log"
info_path = ~c"#{root_dir}/log/info.log"
warning_path = ~c"#{root_dir}/log/warning.log"
error_path = ~c"#{root_dir}/log/error.log"
formatter =
Logger.Formatter.new(
format: format,
# Prevents ANSI escape sequences in log files.
colors: [enabled: false],
truncate: truncate_in_bytes
)
config :logger, :default_formatter,
format: format,
colors: colors,
truncate: truncate_in_bytes
config :file_only_logger, :logger, [
# debug messages and above
{:handler, :debug_handler, :logger_std_h,
%{
level: :debug,
config: %{config | file: debug_path},
formatter: formatter
}},
# info messages and above
{:handler, :info_handler, :logger_std_h,
%{
level: :info,
config: %{config | file: info_path},
formatter: formatter
}},
# warning messages and above
{:handler, :warning_handler, :logger_std_h,
%{
level: :warning,
config: %{config | file: warning_path},
formatter: formatter
}},
# error messages and above
{:handler, :error_handler, :logger_std_h,
%{
level: :error,
config: %{config | file: error_path},
formatter: formatter
}}
]
# Purges debug messages...
# config :logger, compile_time_purge_matching: [[level_lower_than: :info]]
# Keeps only error messages and above...
# config :logger, compile_time_purge_matching: [[level_lower_than: :error]]
# Logs only error messages and above...
# config :logger, level: :error
# line_length =
# try do
# {keyword, _binding} = Code.eval_file(".formatter.exs")
# keyword[:line_length] || 98
# rescue
# _error -> 80
# end
# Changes here require to recompile app :file_only_logger.
config :file_only_logger, line_length: 80, padding: "\s\s"