Selaa lähdekoodia

ft: IIF改成CASE

master
SisMaker 1 vuosi sitten
vanhempi
commit
4be93ec30a
9 muutettua tiedostoa jossa 26 lisäystä ja 26 poistoa
  1. +1
    -1
      include/eLog.hrl
  2. +2
    -2
      include/lgCom.hrl
  3. +4
    -4
      src/backend/lgBkdConsole.erl
  4. +6
    -6
      src/backend/lgBkdFile.erl
  5. +2
    -2
      src/crashLog/lgCrashLog.erl
  6. +2
    -2
      src/eLog.erl
  7. +1
    -1
      src/eLog_app.erl
  8. +1
    -1
      src/errLogger/lgErrLoggerH.erl
  9. +7
    -7
      src/utils/lgUtil.erl

+ 1
- 1
include/eLog.hrl Näytä tiedosto

@ -22,7 +22,7 @@
?lgLog(?LgDefSink, Severity, self(), node(), ?MODULE, ?FUNCTION_NAME, ?LINE, eLog:getMd(), Format, Args, ?LgDefTruncation, Safety)). ?lgLog(?LgDefSink, Severity, self(), node(), ?MODULE, ?FUNCTION_NAME, ?LINE, eLog:getMd(), Format, Args, ?LgDefTruncation, Safety)).
-define(lgLog(Severity, Metadata, Format, Args, Safety), -define(lgLog(Severity, Metadata, Format, Args, Safety),
?lgLog(?LgDefSink, Severity, self(), node(), ?MODULE, ?FUNCTION_NAME, ?LINE, ?lgIIF(eLog:getMdPd(), undefined, Metadata, Md, Metadata ++ Md), Format, Args, ?LgDefTruncation, Safety)).
?lgLog(?LgDefSink, Severity, self(), node(), ?MODULE, ?FUNCTION_NAME, ?LINE, ?lgCASE(eLog:getMdPd(), undefined, Metadata, Md, Metadata ++ Md), Format, Args, ?LgDefTruncation, Safety)).
-define(lgLog(Sink, Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Safety), -define(lgLog(Sink, Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Safety),
(?eLogCfg:get(Sink) band Severity == Severity andalso eLog:doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Sink, Safety))). (?eLogCfg:get(Sink) band Severity == Severity andalso eLog:doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Sink, Safety))).

+ 2
- 2
include/lgCom.hrl Näytä tiedosto

@ -2,8 +2,8 @@
-define(__lgCom__, 1). -define(__lgCom__, 1).
%% %%
-define(lgIIF(Cond, Then, That), case Cond of true -> Then; _ -> That end).
-define(lgIIF(Expr, Expect, Then, ExprRet, That), case Expr of Expect -> Then; ExprRet -> That end).
-define(lgCASE(Cond, Then, That), case Cond of true -> Then; _ -> That end).
-define(lgCASE(Expr, Expect, Then, ExprRet, That), case Expr of Expect -> Then; ExprRet -> That end).
%% IF-DO表达式 %% IF-DO表达式
-define(lgIF(IFTure, DoThat), (IFTure) andalso (DoThat)). -define(lgIF(IFTure, DoThat), (IFTure) andalso (DoThat)).

+ 4
- 4
src/backend/lgBkdConsole.erl Näytä tiedosto

@ -48,12 +48,12 @@ init(Opts) ->
{error, {fatal, old_shell}}; {error, {fatal, old_shell}};
_ -> _ ->
true = checkOpts(Opts), true = checkOpts(Opts),
CfgColors = ?lgIIF(lgUtil:get_env(colored, true), lgUtil:get_env(colors, []), []),
CfgColors = ?lgCASE(lgUtil:get_env(colored, true), lgUtil:get_env(colors, []), []),
Colors = [{lgUtil:levelToNum(Level), ColorStr} || {Level, ColorStr} <- CfgColors], Colors = [{lgUtil:levelToNum(Level), ColorStr} || {Level, ColorStr} <- CfgColors],
Level = lgUtil:get_opt(level, Opts, undefined), Level = lgUtil:get_opt(level, Opts, undefined),
LevelMask = lgUtil:configToMask(Level), LevelMask = lgUtil:configToMask(Level),
[UseErr, GroupLeader, Id, FmtTer, FmtCfg] = [lgUtil:get_opt(Key, Opts, Def) || {Key, Def} <- ?LgDefConsoleOpts], [UseErr, GroupLeader, Id, FmtTer, FmtCfg] = [lgUtil:get_opt(Key, Opts, Def) || {Key, Def} <- ?LgDefConsoleOpts],
Out = ?lgIIF(UseErr, standard_error, ?lgIIF(GroupLeader == false, user, begin erlang:monitor(process, GroupLeader), GroupLeader end)),
Out = ?lgCASE(UseErr, standard_error, ?lgCASE(GroupLeader == false, user, begin erlang:monitor(process, GroupLeader), GroupLeader end)),
{ok, #state{level = LevelMask, id = Id, out = Out, fmtTer = FmtTer, fmtCfg = FmtCfg, colors = Colors}} {ok, #state{level = LevelMask, id = Id, out = Out, fmtTer = FmtTer, fmtCfg = FmtCfg, colors = Colors}}
end. end.
@ -61,7 +61,7 @@ checkOpts([]) -> true;
checkOpts([{id, {?MODULE, _}} | T]) -> checkOpts([{id, {?MODULE, _}} | T]) ->
checkOpts(T); checkOpts(T);
checkOpts([{level, Level} | T]) -> checkOpts([{level, Level} | T]) ->
?lgIIF(lgUtil:validateLogLevel(Level) =/= false, checkOpts(T), {error, {bad_level, Level}});
?lgCASE(lgUtil:validateLogLevel(Level) =/= false, checkOpts(T), {error, {bad_level, Level}});
checkOpts([{use_stderr, Flag} | T]) when is_boolean(Flag) -> checkOpts([{use_stderr, Flag} | T]) when is_boolean(Flag) ->
checkOpts(T); checkOpts(T);
checkOpts([{fmtTer, M} | T]) when is_atom(M) -> checkOpts([{fmtTer, M} | T]) when is_atom(M) ->
@ -122,7 +122,7 @@ code_change(_OldVsn, State, _Extra) ->
{ok, State}. {ok, State}.
eol() -> eol() ->
?lgIIF(lgUtil:get_env(colored, true) andalso element(1, os:type()) =/= win32, <<"\e[0m\r\n">>, <<"\r\n">>).
?lgCASE(lgUtil:get_env(colored, true) andalso element(1, os:type()) =/= win32, <<"\e[0m\r\n">>, <<"\r\n">>).
isNewStyleConsole() -> isNewStyleConsole() ->
%% Criteria: %% Criteria:

+ 6
- 6
src/backend/lgBkdFile.erl Näytä tiedosto

@ -73,11 +73,11 @@ init(Opts) ->
%% %%
Level = lgUtil:configToMask(CfgLevel), Level = lgUtil:configToMask(CfgLevel),
SyncOn = lgUtil:configToMask(CfgSyncOn), SyncOn = lgUtil:configToMask(CfgSyncOn),
CheckInt = ?lgIIF(CfgCheckInt == always, 0, CfgCheckInt),
CheckInt = ?lgCASE(CfgCheckInt == always, 0, CfgCheckInt),
{ok, Date} = lgUtil:parseRotateSpec(CfgDate), {ok, Date} = lgUtil:parseRotateSpec(CfgDate),
FileName = lgUtil:parsePath(FBName), FileName = lgUtil:parsePath(FBName),
scheduleRotation(Date, FBName), scheduleRotation(Date, FBName),
FmtCfg = ?lgIIF(CfgFmtCfg =/= [], CfgFmtCfg, begin MdWhitelist = lgUtil:get_env(mdWhitelist, []), lgFmtTer:fmtCfg(MdWhitelist) end),
FmtCfg = ?lgCASE(CfgFmtCfg =/= [], CfgFmtCfg, begin MdWhitelist = lgUtil:get_env(mdWhitelist, []), lgFmtTer:fmtCfg(MdWhitelist) end),
Shaper = #lgShaper{hwm = Hwm, flushQueue = FlushQueue, flushThr = FlushThr, id = FBName}, Shaper = #lgShaper{hwm = Hwm, flushQueue = FlushQueue, flushThr = FlushThr, id = FBName},
TemState = #state{ TemState = #state{
@ -200,7 +200,7 @@ writeLog(#state{fileName = FileName, fd = Fd, inode = Inode, cTime = CTime, flap
writeFile(NewState, Level, Msg) writeFile(NewState, Level, Msg)
end; end;
{error, Reason} -> {error, Reason} ->
?lgIIF(Flap, State, begin ?INT_LOG(?llvError, <<"Failed to reopen log file ~ts with error ~s">>, [FileName, file:format_error(Reason)]), State#state{flap = true} end)
?lgCASE(Flap, State, begin ?INT_LOG(?llvError, <<"Failed to reopen log file ~ts with error ~s">>, [FileName, file:format_error(Reason)]), State#state{flap = true} end)
end; end;
_ -> _ ->
writeFile(State, Level, Msg) writeFile(State, Level, Msg)
@ -253,11 +253,11 @@ configToId(Config) ->
end. end.
checkOpts([], IsFile) -> checkOpts([], IsFile) ->
?lgIIF(IsFile, true, {error, no_file_name});
?lgCASE(IsFile, true, {error, no_file_name});
checkOpts([{file, _File} | Tail], _IsFile) -> checkOpts([{file, _File} | Tail], _IsFile) ->
checkOpts(Tail, true); checkOpts(Tail, true);
checkOpts([{level, Level} | Tail], IsFile) -> checkOpts([{level, Level} | Tail], IsFile) ->
?lgIIF(lgUtil:validateLogLevel(Level) =/= false, checkOpts(Tail, IsFile), {error, {invalid_log_level, Level}});
?lgCASE(lgUtil:validateLogLevel(Level) =/= false, checkOpts(Tail, IsFile), {error, {invalid_log_level, Level}});
checkOpts([{size, Size} | Tail], IsFile) when is_integer(Size), Size >= 0 -> checkOpts([{size, Size} | Tail], IsFile) when is_integer(Size), Size >= 0 ->
checkOpts(Tail, IsFile); checkOpts(Tail, IsFile);
checkOpts([{count, Count} | Tail], IsFile) when is_integer(Count), Count >= 0 -> checkOpts([{count, Count} | Tail], IsFile) when is_integer(Count), Count >= 0 ->
@ -275,7 +275,7 @@ checkOpts([{syncSize, SyncSize} | Tail], IsFile) when is_integer(SyncSize), Sync
checkOpts([{checkInt, CheckInt} | Tail], IsFile) when is_integer(CheckInt), CheckInt >= 0; CheckInt == always -> checkOpts([{checkInt, CheckInt} | Tail], IsFile) when is_integer(CheckInt), CheckInt >= 0; CheckInt == always ->
checkOpts(Tail, IsFile); checkOpts(Tail, IsFile);
checkOpts([{syncOn, Level} | Tail], IsFile) -> checkOpts([{syncOn, Level} | Tail], IsFile) ->
?lgIIF(lgUtil:validateLogLevel(Level) =/= false, checkOpts(Tail, IsFile), {error, {invalid_sync_on, Level}});
?lgCASE(lgUtil:validateLogLevel(Level) =/= false, checkOpts(Tail, IsFile), {error, {invalid_sync_on, Level}});
checkOpts([{fmtTer, Fmt} | Tail], IsFile) when is_atom(Fmt) -> checkOpts([{fmtTer, Fmt} | Tail], IsFile) when is_atom(Fmt) ->
checkOpts(Tail, IsFile); checkOpts(Tail, IsFile);
checkOpts([{fmtCfg, FmtCfg} | Tail], IsFile) when is_list(FmtCfg) -> checkOpts([{fmtCfg, FmtCfg} | Tail], IsFile) when is_list(FmtCfg) ->

+ 2
- 2
src/crashLog/lgCrashLog.erl Näytä tiedosto

@ -110,7 +110,7 @@ closeFile(#state{fBName = FBName, fd = Fd} = State) ->
end. end.
otherNodeSuffix(Pid) -> otherNodeSuffix(Pid) ->
PidNode = ?lgIIF(is_pid(Pid), node(Pid), undefined),
PidNode = ?lgCASE(is_pid(Pid), node(Pid), undefined),
case PidNode =/= undefined andalso PidNode =/= node() of case PidNode =/= undefined andalso PidNode =/= node() of
true -> true ->
<<"** at node ", (atom_to_binary(node(Pid), utf8))/binary, " **\n">>; <<"** at node ", (atom_to_binary(node(Pid), utf8))/binary, " **\n">>;
@ -192,7 +192,7 @@ writeLog(Event, #state{fileName = FileName, fd = FD, inode = Inode, cTime = CTim
end end
end; end;
{error, Reason} -> {error, Reason} ->
?lgIIF(Flap, {ok, State}, begin ?INT_LOG(?llvError, <<"Failed to reopen crash log ~ts with error: ~s">>, [FileName, file:format_error(Reason)]), {ok, State#state{flap = true}} end)
?lgCASE(Flap, {ok, State}, begin ?INT_LOG(?llvError, <<"Failed to reopen crash log ~ts with error: ~s">>, [FileName, file:format_error(Reason)]), {ok, State#state{flap = true}} end)
end end
end. end.

+ 2
- 2
src/eLog.erl Näytä tiedosto

@ -81,9 +81,9 @@ dispatchLog(Sink, Severity, Pid, Node, Module, Function, Line, Metadata, Format,
doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Sink, Safety) -> doLogImpl(Severity, Pid, Node, Module, Function, Line, Metadata, Format, Args, Size, Sink, Safety) ->
TraceFilters = lgConfig:ptGet({Sink, trace}, []), TraceFilters = lgConfig:ptGet({Sink, trace}, []),
Destinations = ?lgIIF(TraceFilters =/= [], lgUtil:check_traces(Metadata, Severity, TraceFilters, []), []),
Destinations = ?lgCASE(TraceFilters =/= [], lgUtil:check_traces(Metadata, Severity, TraceFilters, []), []),
MsgStr = ?lgIIF(Args =/= [] andalso Args =/= undefined, ?lgIIF(Safety == safe, safeFormat(Format, Args, [{charsLimit, Size}]), unsafeFormat(Format, Args)), Format),
MsgStr = ?lgCASE(Args =/= [] andalso Args =/= undefined, ?lgCASE(Safety == safe, safeFormat(Format, Args, [{charsLimit, Size}]), unsafeFormat(Format, Args)), Format),
NowMs = lgTime:nowMs(), NowMs = lgTime:nowMs(),
NowStr = lgUtil:msToBinStr(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}, LgMsg = #lgMsg{severity = Severity, pid = Pid, node = Node, module = Module, function = Function, line = Line, metadata = Metadata, datetime = NowStr, timestamp = NowMs, message = MsgStr, destinations = Destinations},

+ 1
- 1
src/eLog_app.erl Näytä tiedosto

@ -41,7 +41,7 @@ startSink(?LgDefSink) -> doStart();
startSink(Sink) -> startSink(Sink) ->
AllSinksDef = lgUtil:get_env(extraSinks, []), AllSinksDef = lgUtil:get_env(extraSinks, []),
SinkValue = lists:keyfind(Sink, 1, AllSinksDef), SinkValue = lists:keyfind(Sink, 1, AllSinksDef),
SinkOpts = ?lgIIF(SinkValue == false, [], element(2, SinkValue)),
SinkOpts = ?lgCASE(SinkValue == false, [], element(2, SinkValue)),
startSink(Sink, SinkOpts). startSink(Sink, SinkOpts).
startSink(Sink, Opts) -> startSink(Sink, Opts) ->

+ 1
- 1
src/errLogger/lgErrLoggerH.erl Näytä tiedosto

@ -393,7 +393,7 @@ formatCrashReport(Report, Neighbours) ->
{Class, Reason, Trace} = get_value(error_info, Report), {Class, Reason, Trace} = get_value(error_info, Report),
{Md, ReasonStr} = formatReasonMd({Reason, Trace}), {Md, ReasonStr} = formatReasonMd({Reason, Trace}),
Type = ?lgIIF(Class == exit, <<"exited">>, <<"crashed">>),
Type = ?lgCASE(Class == exit, <<"exited">>, <<"crashed">>),
{Md0 ++ Md, eFmt:format(<<"Process ~w with ~w neighbours ~s with reason: ~s">>, [Name, length(Neighbours), Type, ReasonStr])}. {Md0 ++ Md, eFmt:format(<<"Process ~w with ~w neighbours ~s with reason: ~s">>, [Name, length(Neighbours), Type, ReasonStr])}.
formatOffender(Off) -> formatOffender(Off) ->

+ 7
- 7
src/utils/lgUtil.erl Näytä tiedosto

@ -220,7 +220,7 @@ parseRotateHourSpec([], DayOrMonthF, Hour, Minute, DayOrMonthV) ->
{DayOrMonthF, Hour, Minute, DayOrMonthV}; {DayOrMonthF, Hour, Minute, DayOrMonthV};
parseRotateHourSpec([$H, M1, M2], DayOrMonthF, Hour, _Minute, DayOrMonthV) when M1 >= $0, M1 =< $9, M2 >= $0, M2 =< $9 -> parseRotateHourSpec([$H, M1, M2], DayOrMonthF, Hour, _Minute, DayOrMonthV) when M1 >= $0, M1 =< $9, M2 >= $0, M2 =< $9 ->
Min = list_to_integer([M1, M2]), Min = list_to_integer([M1, M2]),
?lgIIF(Min >= 0 andalso Min =< 59, {DayOrMonthF, Hour, Min, DayOrMonthV}, {error, invalid_date_spec});
?lgCASE(Min >= 0 andalso Min =< 59, {DayOrMonthF, Hour, Min, DayOrMonthV}, {error, invalid_date_spec});
parseRotateHourSpec([$H, M], DayOrMonthF, Hour, _Minute, DayOrMonthV) when M >= $0, M =< $9 -> parseRotateHourSpec([$H, M], DayOrMonthF, Hour, _Minute, DayOrMonthV) when M >= $0, M =< $9 ->
{DayOrMonthF, Hour, M - $0, DayOrMonthV}; {DayOrMonthF, Hour, M - $0, DayOrMonthV};
parseRotateHourSpec(_, _DayOrMonth, _Hour, _Minute, _DayOrMonthV) -> parseRotateHourSpec(_, _DayOrMonth, _Hour, _Minute, _DayOrMonthV) ->
@ -231,7 +231,7 @@ parseRotateDaySpec([], DayOrMonthF, Hour, Minute, DayOrMonthV) ->
{DayOrMonthF, Hour, Minute, DayOrMonthV}; {DayOrMonthF, Hour, Minute, DayOrMonthV};
parseRotateDaySpec([$D, D1, D2 | T], DayOrMonthF, _Hour, _Minute, DayOrMonthV) when D1 > $0, D1 < $9, D2 > $0, D2 < $9 -> parseRotateDaySpec([$D, D1, D2 | T], DayOrMonthF, _Hour, _Minute, DayOrMonthV) when D1 > $0, D1 < $9, D2 > $0, D2 < $9 ->
Day = list_to_integer([D1, D2]), Day = list_to_integer([D1, D2]),
?lgIIF(Day >= 0 andalso Day =< 23, parseRotateHourSpec(T, DayOrMonthF, Day, 0, DayOrMonthV), {error, invalid_date_spec});
?lgCASE(Day >= 0 andalso Day =< 23, parseRotateHourSpec(T, DayOrMonthF, Day, 0, DayOrMonthV), {error, invalid_date_spec});
parseRotateDaySpec([$D, D | T], DayOrMonthF, _Hour, _Minute, DayOrMonthV) when D >= $0, D =< $9 -> parseRotateDaySpec([$D, D | T], DayOrMonthF, _Hour, _Minute, DayOrMonthV) when D >= $0, D =< $9 ->
parseRotateHourSpec(T, DayOrMonthF, D - $0, 0, DayOrMonthV); parseRotateHourSpec(T, DayOrMonthF, D - $0, 0, DayOrMonthV);
parseRotateDaySpec(T, DayOrMonth, Hour, Minute, DayOrMonthV) -> parseRotateDaySpec(T, DayOrMonth, Hour, Minute, DayOrMonthV) ->
@ -244,7 +244,7 @@ parseRotateDateSpec([$$, $M, L | T], _DayOrMonthF, _Hour, _Minute, DayOrMonthV)
parseRotateDaySpec(T, last, 0, 0, DayOrMonthV); parseRotateDaySpec(T, last, 0, 0, DayOrMonthV);
parseRotateDateSpec([$$, $M, M1, M2 | T], _DayOrMonthF, _Hour, _Minute, _DayOrMonthV) when M1 >= $0, M1 =< $9, M2 >= $0, M2 =< $9 -> parseRotateDateSpec([$$, $M, M1, M2 | T], _DayOrMonthF, _Hour, _Minute, _DayOrMonthV) when M1 >= $0, M1 =< $9, M2 >= $0, M2 =< $9 ->
Date = list_to_integer([M1, M2]), Date = list_to_integer([M1, M2]),
?lgIIF(Date >= 1 andalso Date =< 31, parseRotateDaySpec(T, date, 0, 0, Date), {error, invalid_date_spec});
?lgCASE(Date >= 1 andalso Date =< 31, parseRotateDaySpec(T, date, 0, 0, Date), {error, invalid_date_spec});
parseRotateDateSpec([$$, $M, M | T], _DayOrMonthF, _Hour, _Minute, _DayOrMonthV) when M >= $1, M =< $9 -> parseRotateDateSpec([$$, $M, M | T], _DayOrMonthF, _Hour, _Minute, _DayOrMonthV) when M >= $1, M =< $9 ->
parseRotateDaySpec(T, date, 0, 0, M - $0); parseRotateDaySpec(T, date, 0, 0, M - $0);
parseRotateDateSpec([$$ | T], DayOrMonthF, Hour, Minute, DayOrMonthV) -> parseRotateDateSpec([$$ | T], DayOrMonthF, Hour, Minute, DayOrMonthV) ->
@ -253,7 +253,7 @@ parseRotateDateSpec(_, _DayOrMonthF, _Hour, _Minute, _DayOrMonthV) ->
{error, invalid_date_spec}. {error, invalid_date_spec}.
parseRotateSpec(Spec) -> parseRotateSpec(Spec) ->
SpecList = ?lgIIF(is_binary(Spec), binary_to_list(Spec), Spec),
SpecList = ?lgCASE(is_binary(Spec), binary_to_list(Spec), Spec),
case parseRotateDateSpec(SpecList, undefined, undefined, undefined, undefined) of case parseRotateDateSpec(SpecList, undefined, undefined, undefined, undefined) of
{error, _} = ErrRet -> {error, _} = ErrRet ->
ErrRet; ErrRet;
@ -406,8 +406,8 @@ checkHwm(#lgShaper{id = Id, hwm = Hwm, mps = Mps, lastTime = LastTime, dropped =
true -> true ->
PastMs = NowTimeMs rem 1000, PastMs = NowTimeMs rem 1000,
%% still in same second, but have exceeded the high water mark %% still in same second, but have exceeded the high water mark
NewDrops = ?lgIIF(isNeedFlush(FlushQueue, FlushThr), dropMsg(NowTime, Filter, 0), 0),
NewTimer = ?lgIIF(erlang:read_timer(Timer) =/= false, Timer, erlang:send_after(1000 - PastMs, self(), {mShaperExpired, Id})),
NewDrops = ?lgCASE(isNeedFlush(FlushQueue, FlushThr), dropMsg(NowTime, Filter, 0), 0),
NewTimer = ?lgCASE(erlang:read_timer(Timer) =/= false, Timer, erlang:send_after(1000 - PastMs, self(), {mShaperExpired, Id})),
{false, 0, Shaper#lgShaper{dropped = Drop + NewDrops + 1, timer = NewTimer}}; {false, 0, Shaper#lgShaper{dropped = Drop + NewDrops + 1, timer = NewTimer}};
_ -> _ ->
_ = erlang:cancel_timer(Shaper#lgShaper.timer), _ = erlang:cancel_timer(Shaper#lgShaper.timer),
@ -436,7 +436,7 @@ dropMsg(LastTime, Filter, Count) ->
%% otherwise we might discard gen_event internal %% otherwise we might discard gen_event internal
%% messages, such as trapped EXITs %% messages, such as trapped EXITs
{'$gen_info', Event} -> {'$gen_info', Event} ->
NewCount = ?lgIIF(Filter(Event), Count, Count + 1),
NewCount = ?lgCASE(Filter(Event), Count, Count + 1),
dropMsg(LastTime, Filter, NewCount) dropMsg(LastTime, Filter, NewCount)
after 0 -> after 0 ->
Count Count

Ladataan…
Peruuta
Tallenna