diff --git a/rebar.config b/rebar.config index 614566f..4921a40 100644 --- a/rebar.config +++ b/rebar.config @@ -3,7 +3,6 @@ report, warn_deprecated_function, warn_deprecated_type, - warn_export_all, warn_export_vars, warn_obsolete_guard, warn_untyped_record, diff --git a/src/eLog.erl b/src/eLog.erl index 68ea7d8..4dd37c1 100644 --- a/src/eLog.erl +++ b/src/eLog.erl @@ -87,7 +87,7 @@ doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, S TraceFilters = lgConfig:ptGet({Sink, trace}, []), Destinations = ?IIF(TraceFilters =/= [], lgUtil:check_traces(Metadata, Severity, TraceFilters, []), []), - MsgStr = ?IIF(Args =/= [] andalso Args =/= undefined, ?IIF(Safety == safe, safeFormat(Format, [Args], [{charsLimit, Size}]), unsafeFormat(Format, [Args])), Format), + MsgStr = ?IIF(Args =/= [] andalso Args =/= undefined, ?IIF(Safety == safe, safeFormat(Format, Args, [{charsLimit, Size}]), unsafeFormat(Format, Args)), Format), NowMs = lgTime:nowMs(), NowStr = lgUtil:msToBinStr(NowMs), LgMsg = #lgMsg{severity = Severity, pid = Pid, node = Node, module = Module, function = Function, line = Line, metadata = Metadata, datetime = NowStr, timestamp = NowMs, message = MsgStr, destinations = Destinations}, diff --git a/src/errLogger/lgErrLoggerH.erl b/src/errLogger/lgErrLoggerH.erl index cbfb378..3af656f 100644 --- a/src/errLogger/lgErrLoggerH.erl +++ b/src/errLogger/lgErrLoggerH.erl @@ -41,18 +41,30 @@ raw :: boolean() }). --define(LOGMSG(Sink, Severity, Pid, Msg), +-define(LOGMSG(Sink, Severity, PidOrMd, Msg), case ?LgShouldLog(Sink, Severity) of true -> - eLog:doLogImpl(Severity, Pid, undefined, undefined, undefined, 0, [], Msg, [], 0, Sink, safe), + case is_pid(PidOrMd) of + true -> + eLog:doLogImpl(Severity, PidOrMd, undefined, undefined, undefined, 0, [], Msg, [], 0, Sink, safe); + _ -> + eLog:doLogImpl(Severity, self(), undefined, undefined, undefined, 0, PidOrMd, Msg, [], 0, Sink, safe) + end, logged; _ -> no_log end). --define(LOGFMT(Sink, Severity, Pid, Fmt, Args), +% doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Sink, Safety) + +-define(LOGFMT(Sink, Severity, PidOrMd, Fmt, Args), case ?LgShouldLog(Sink, Severity) of true -> - eLog:doLogImpl(Severity, Pid, undefined, undefined, undefined, 0, [], Fmt, Args, 0, Sink, safe), + case is_pid(PidOrMd) of + true -> + eLog:doLogImpl(Severity, PidOrMd, undefined, undefined, undefined, 0, [], Fmt, Args, 0, Sink, safe); + _ -> + eLog:doLogImpl(Severity, self(), undefined, undefined, undefined, 0, PidOrMd, Fmt, Args, 0, Sink, safe) + end, logged; _ -> no_log end). @@ -74,9 +86,6 @@ init([HighWaterMark, GlStrategy]) -> Flush = lgUtil:get_env(errLoggerFlushQueue, true), FlushThr = lgUtil:get_env(errLoggerFlushThr, 20), Shaper = #lgShaper{hwm = HighWaterMark, flushQueue = Flush, flushThr = FlushThr, filter = shaperFun(), id = ?MODULE}, - - io:format("IMY*******************init1111111 ~p~n", [Shaper]), - Raw = lgUtil:get_env(errLoggerFmtRaw, false), Sink = configSink(), {ok, #state{sink = Sink, shaper = Shaper, groupleader_strategy = GlStrategy, raw = Raw}}. @@ -415,7 +424,7 @@ formatOffender(Off) -> formatReason(Reason) -> element(2, formatReasonMd(Reason)). --spec formatReasonMd(Stacktrace :: any()) -> {Metadata :: [{atom(), any()}], String :: list()}. +-spec formatReasonMd(Reason :: any()) -> {Metadata :: [{atom(), any()}], String :: list()}. formatReasonMd({'function not exported', [{M, F, A}, MFA | _]}) -> {Md, Formatted} = formatMfaMd(MFA), {_, Formatted2} = formatMfaMd({M, F, length(A)}), @@ -516,7 +525,7 @@ formatReasonMd({Reason, [{M, F, A, Props} | _]}) when is_atom(M), is_atom(F), is {_, Formatted2} = formatMfaMd({M, F, A, Props}), {Md, <>}; formatReasonMd(Reason) -> - eFtm:formatBin(<<"~p">>, [Reason], [{charsLimit, 500}]). + {[], eFmt:formatBin(<<"~p">>, [Reason], [{charsLimit, 500}])}. %% backwards compatability shim formatMfa(MFA) -> @@ -525,9 +534,9 @@ formatMfa(MFA) -> -spec formatMfaMd(any()) -> {[{atom(), any()}], list()}. formatMfaMd({M, F, A}) when is_list(A) -> ArgsStr = formatArgs(A, <<>>), - {[{module, M}, {function, F}], eFtm:formatBin(<<"~w:~w(", ArgsStr/binary, ")">>, [M, F])}; + {[{module, M}, {function, F}], eFmt:formatBin(<<"~w:~w(", ArgsStr/binary, ")">>, [M, F])}; formatMfaMd({M, F, A}) when is_integer(A) -> - {[{module, M}, {function, F}], eFtm:formatBin(<<"~w:~w/~w">>, [M, F, A])}; + {[{module, M}, {function, F}], eFmt:formatBin(<<"~w:~w/~w">>, [M, F, A])}; formatMfaMd({M, F, A, Props}) when is_list(Props) -> case get_value(line, Props) of undefined -> @@ -545,7 +554,7 @@ formatMfaMd([{M, F, A, Props} | _]) when is_list(Props) -> %% to print a lower one, but it is hard to programatically decide. formatMfaMd({M, F, A, Props}); formatMfaMd(Other) -> - {[], eFtm:formatBin(<<"~w">>, [Other])}. + {[], eFmt:formatBin(<<"~w">>, [Other])}. formatArgs([], ArgsAcc) -> ArgsAcc; @@ -581,36 +590,26 @@ shaperFun() -> AppSS = lgUtil:get_env(suppressAppStartStop, false), if SupSS andalso AppSS -> - io:format("IMY********************shaperFun11111111"), fun ?MODULE:suppress_supervisor_start_and_application_start/1; SupSS -> - io:format("IMY********************shaperFun22222"), fun ?MODULE:suppress_supervisor_start/1; AppSS -> - io:format("IMY********************shaperFun33333333333"), fun ?MODULE:suppress_application_start/1; true -> - io:format("IMY********************shaperFun44444"), undefined end. suppress_supervisor_start_and_application_start(E) -> - io:format("IMY********************Fun111111"), suppress_supervisor_start(E) orelse suppress_application_start(E). suppress_application_start({info_report, _GL, {_Pid, std_info, D}}) when is_list(D) -> - io:format("IMY********************Fun14324234"), lists:member({exited, stopped}, D); suppress_application_start({info_report, _GL, {_P, progress, D}}) -> - io:format("IMY********************Fun14332424"), lists:keymember(application, 1, D) andalso lists:keymember(started_at, 1, D); suppress_application_start(_) -> - io:format("IMY********************Fun14334343"), false. suppress_supervisor_start({info_report, _GL, {_P, progress, D}}) -> - io:format("IMY********************Fun324324"), lists:keymember(started, 1, D) andalso lists:keymember(supervisor, 1, D); suppress_supervisor_start(_) -> - io:format("IMY********************Fun432432"), false. diff --git a/src/testl.erl b/src/testl.erl index be779a2..ce84875 100644 --- a/src/testl.erl +++ b/src/testl.erl @@ -9,10 +9,11 @@ test(Msg) -> ?lgDebug("IMY************* ~p~n", [Msg]). tt() -> - ?lgError("IMYYYYYYYYYYYYYYY111") . + ?lgError("IMYYYYYYYYYYYYYYY111 好家伙 +") . -ee1() -> - logger:error("IMY****************ee"), - ?ERR("fdddddddfddffffffffffff"), - error_logger:error_info("fdsfsdfsfdsfs"). +ee() -> + logger:error("IMY****************1111"), + ?ERR("fdddddddfddffffffffffff1~p ~p~n", [aa, bbb]), + error_logger:error_info("fdsfsdfsfdsfs1111111111111111111111111111112222ddddd 大幅度").