Packages
diint_utilites_common_app
1.3.9
1.4.23
1.4.22
1.4.21
1.4.20
1.4.19
1.4.18
1.4.17
1.4.16
1.4.15
1.4.14
1.4.12
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.9
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.101
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
библиотеки для работы с ребитом и протоколы
Current section
Files
Jump to
Current section
Files
src/log/json_logger_formatter.erl
-module(json_logger_formatter).
-export([format/2]).
format( #{level := Level,
msg := Message,
meta := #{pid := Pid,
time := Timestamp,
line := Line,
mfa := {MODULE, FUNCTION_NAME, _FUNCTION_ARITY}
}} = MI, _FConfig)->
case jsone:try_encode(#{level => Level, message => get_message(Message), pid => Pid, timestamp => Timestamp, line => Line, module => MODULE, func_name => FUNCTION_NAME}) of
{ok,Bin} -> Bin;
_else -> case jsone:try_encode(#{message => logger_formatter:format(MI,get_default_config()), level => <<"Fatal">>}) of
{ok,Bin} -> Bin;
_else -> jsone:try_encode(#{message => "критическая ошибка логирования", level => <<"Fatal">>})
end
end.
get_message({report, Report})->
Report;
get_message({string, Chardata})->
unicode:characters_to_binary(Chardata);
get_message({Io, Data})-> io_lib:format(Io,Data).
get_default_config()->
#{chars_limit => unlimited,
depth => unlimited,
legacy_header => true,
max_size => unlimited,
report_cb => fun(Report) -> logger:format_report(Report) end,
single_line => false,
template => [time," ",level,": ",msg,"\n"],
time_designator => $T,
time_offset => ""}.