소스 검색

Use report_cb from config or from metadata

adt/lager_use_logger-option
Andrew Thompson 6 년 전
부모
커밋
ce11e41ea9
1개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  1. +7
    -3
      src/lager_logger_formatter.erl

+ 7
- 3
src/lager_logger_formatter.erl 파일 보기

@ -83,9 +83,13 @@ report_cb(#{label := {application_controller, exit}, report := Report}) ->
end.
%% TODO handle proc_lib crash
format(#{level := _Level, msg := {report, Report}, meta := _Metadata}, _Config) ->
%do_format(Level, (maps:get(report_cb, Metadata))(Report), Metadata, Config);
io_lib:format("REPORT ~p~n", [Report]);
format(#{msg := {report, _Report}, meta := Metadata} = Event, #{report_cb := Fun} = Config) when is_function(Fun, 1); is_function(Fun, 2) ->
format(Event#{meta => Metadata#{report_cb => Fun}}, maps:remove(report_cb, Config));
format(#{level := _Level, msg := {report, Report}, meta := #{report_cb := Fun}} = Event, Config) when is_function(Fun, 1) ->
case Fun(Report) of
{Format, Args} when is_list(Format), is_list(Args) ->
format(Event#{msg => {Format, Args}}, Config)
end;
format(#{level := Level, msg := {string, String}, meta := Metadata}, Config) ->
do_format(Level, String, Metadata, Config);
format(#{level := Level, msg := {FmtStr, FmtArgs}, meta := Metadata}, Config) ->

불러오는 중...
취소
저장