From d953593c2381f62c9dc32911662a01e67a11992c Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Sat, 10 Jul 2021 14:21:49 +0800 Subject: [PATCH] =?UTF-8?q?fx:=20=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/eLog_app.erl | 10 ++++++++-- src/errLogger/lgErrLoggerH.erl | 6 ++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/eLog_app.erl b/src/eLog_app.erl index 56c2554..7aac01e 100644 --- a/src/eLog_app.erl +++ b/src/eLog_app.erl @@ -32,9 +32,8 @@ doStart() -> %%尝试启动各个handler tryStartHandlers(lgUtil:get_env(handlers, ?LgDefHandler), ?LgDefSink), - %% 尝试替换error logger - SavedHandlers = tryStartErrLoggerHandler(lgUtil:get_env(errLoggerRedirect, false), lgUtil:get_env(errLoggerHwm, undefined), lgUtil:get_env(errLoggerWhitelist, [])), + SavedHandlers = tryStartErrLoggerHandler(lgUtil:get_env(errLoggerRedirect, true), lgUtil:get_env(errLoggerHwm, undefined), lgUtil:get_env(errLoggerWhitelist, [])), eLog:upLogLevelCfg(?LgDefSink), SavedHandlers. @@ -83,6 +82,12 @@ startTrace({Handler, Filter, Level}) when is_atom(Level) -> prep_stop(Handlers) -> [error_logger:add_report_handler(Handler) || Handler <- Handlers], + case lgUtil:get_env(errLoggerRedirect, true) of + true -> + logger:add_handlers(kernel); + _ -> + ignore + end, ok. stop(_State) -> @@ -156,6 +161,7 @@ tryStartErrLoggerHandler(_ErrLoggerRedirect, Hwm, WhiteList) -> _ = logger:add_handler(error_logger, error_logger, #{level => info, filter_default => log}), ok = tryRemoveLoggerHandler(); _ -> + ok = tryRemoveLoggerHandler(), ok end, diff --git a/src/errLogger/lgErrLoggerH.erl b/src/errLogger/lgErrLoggerH.erl index c4d109b..0673cd9 100644 --- a/src/errLogger/lgErrLoggerH.erl +++ b/src/errLogger/lgErrLoggerH.erl @@ -47,7 +47,8 @@ true -> eLog:doLogImpl(Severity, PidOrMd, 'Undef', 'Undef', 'Undef', 0, [], Msg, [], 0, Sink, safe); _ -> - eLog:doLogImpl(Severity, self(), 'Undef', 'Undef', 'Undef', 0, PidOrMd, Msg, [], 0, Sink, safe) + {_, LogPid} = lists:keyfind(pid, 1, PidOrMd), + eLog:doLogImpl(Severity, LogPid, 'Undef', 'Undef', 'Undef', 0, lists:keydelete(pid, 1, PidOrMd), Msg, [], 0, Sink, safe) end, logged; _ -> no_log @@ -62,7 +63,8 @@ true -> eLog:doLogImpl(Severity, PidOrMd, 'Undef', 'Undef', 'Undef', 0, [], Fmt, Args, 0, Sink, safe); _ -> - eLog:doLogImpl(Severity, self(), 'Undef', 'Undef', 'Undef', 0, PidOrMd, Fmt, Args, 0, Sink, safe) + {_, LogPid} = lists:keyfind(pid, 1, PidOrMd), + eLog:doLogImpl(Severity, LogPid, 'Undef', 'Undef', 'Undef', 0, lists:keydelete(pid, 1, PidOrMd), Fmt, Args, 0, Sink, safe) end, logged; _ -> no_log