Quellcode durchsuchen

Honor supervisor message suppression config

adt/lager_use_logger-option
Andrew Thompson vor 6 Jahren
Ursprung
Commit
9b8ee2342c
1 geänderte Dateien mit 22 neuen und 18 gelöschten Zeilen
  1. +22
    -18
      src/lager_logger_formatter.erl

+ 22
- 18
src/lager_logger_formatter.erl Datei anzeigen

@ -25,25 +25,29 @@ format(#{level := Level, msg := {report, #{label := {Behaviour, no_handle_info},
Msg = lager_format:format("undefined handle_info for ~p in ~s ~p", [Msg, Behaviour, Mod], maps:get(max_size, Config, 1024)), Msg = lager_format:format("undefined handle_info for ~p in ~s ~p", [Msg, Behaviour, Mod], maps:get(max_size, Config, 1024)),
do_format(Level, Msg, Metadata, Config); do_format(Level, Msg, Metadata, Config);
format(#{level := Level, msg := {report, #{label := {supervisor, progress}, report := Report}}, meta := Metadata}, Config) -> format(#{level := Level, msg := {report, #{label := {supervisor, progress}, report := Report}}, meta := Metadata}, Config) ->
{supervisor, Name} = lists:keyfind(supervisor, 1, Report),
{started, Started} = lists:keyfind(started, 1, Report),
Msg = case lists:keyfind(id, 1, Started) of
false ->
%% supervisor itself starting
{mfa, {Module, Function, Args}} = lists:keyfind(mfa, 1, Started),
{pid, Pid} = lists:keyfind(pid, 1, Started),
lager_format:format("Supervisor ~w started as ~p at pid ~w", [Name, error_logger_lager_h:format_mfa(Module, Function, Args), Pid], maps:get(max_size, Config, 1024));
{id, ChildID} ->
case lists:keyfind(pid, 1, Started) of
{pid, Pid} ->
lager_format:format("Supervisor ~w started child ~p at pid ~w", [Name, ChildID, Pid], maps:get(max_size, Config, 1024));
case application:get_env(lager, suppress_supervisor_start_stop, false) of
true -> "";
false ->
{supervisor, Name} = lists:keyfind(supervisor, 1, Report),
{started, Started} = lists:keyfind(started, 1, Report),
Msg = case lists:keyfind(id, 1, Started) of
false -> false ->
%% children is a list of pids for some reason? and we only get the count
{nb_children, ChildCount} = lists:keyfind(nb_children, 1, Started),
lager_format:format("Supervisor ~w started ~b children ~p", [Name, ChildCount, ChildID], maps:get(max_size, Config, 1024))
end
end,
do_format(Level, Msg, Metadata, Config);
%% supervisor itself starting
{mfa, {Module, Function, Args}} = lists:keyfind(mfa, 1, Started),
{pid, Pid} = lists:keyfind(pid, 1, Started),
lager_format:format("Supervisor ~w started as ~p at pid ~w", [Name, error_logger_lager_h:format_mfa(Module, Function, Args), Pid], maps:get(max_size, Config, 1024));
{id, ChildID} ->
case lists:keyfind(pid, 1, Started) of
{pid, Pid} ->
lager_format:format("Supervisor ~w started child ~p at pid ~w", [Name, ChildID, Pid], maps:get(max_size, Config, 1024));
false ->
%% children is a list of pids for some reason? and we only get the count
{nb_children, ChildCount} = lists:keyfind(nb_children, 1, Started),
lager_format:format("Supervisor ~w started ~b children ~p", [Name, ChildCount, ChildID], maps:get(max_size, Config, 1024))
end
end,
do_format(Level, Msg, Metadata, Config)
end;
format(#{level := Level, msg := {report, Report}, meta := Metadata}, Config) -> format(#{level := Level, msg := {report, Report}, meta := Metadata}, Config) ->
do_format(Level, (maps:get(report_cb, Metadata))(Report), Metadata, Config); do_format(Level, (maps:get(report_cb, Metadata))(Report), Metadata, Config);
format(#{level := Level, msg := {string, String}, meta := Metadata}, Config) -> format(#{level := Level, msg := {string, String}, meta := Metadata}, Config) ->

Laden…
Abbrechen
Speichern