Selaa lähdekoodia

ft: 代码格式化

master
SisMaker 4 vuotta sitten
vanhempi
commit
4232cb1993
4 muutettua tiedostoa jossa 45 lisäystä ja 44 poistoa
  1. +15
    -16
      README.md
  2. +25
    -21
      eRum.sample.config
  3. +3
    -5
      src/errLogger/rumErrLoggerH.erl
  4. +2
    -2
      src/utils/rumUtil.erl

+ 15
- 16
README.md Näytä tiedosto

@ -109,22 +109,21 @@ below). If async values are not configured, no overload protection will be appli
```erlang
[{eRum, [
{logRoot, "/tmp"},
%% Default handlers for lager/lager_event
{handlers, [
{lager_console_backend, [{level, info}]},
{lager_file_backend, [{file, "error.log"}, {level, error}]},
{lager_file_backend, [{file, "console.log"}, {level, info}]}
]},
%% Any other sinks
{extraSinks, [
{audit_lager_event,
[{handlers, [{lager_file_backend, [{file, "sink1.log"}, {level, info}]}]},
{asyncThreshold, 500},
{asyncThrWindow, 50}]
}]}
]}].
{logRoot, "/tmp"},
%% Default handlers for lager/lager_event
{handlers, [
{lager_console_backend, [{level, info}]},
{lager_file_backend, [{file, "error.log"}, {level, error}]},
{lager_file_backend, [{file, "console.log"}, {level, info}]}
]},
%% Any other sinks
{extraSinks, [
{audit_lager_event,[{handlers, [{lager_file_backend, [{file, "sink1.log"}, {level, info}]}]}, {asyncThreshold, 500}, {asyncThrWindow, 50}]}
]}
]}].
```
自定义格式

+ 25
- 21
eRum.sample.config Näytä tiedosto

@ -15,9 +15,13 @@
{emergency, <<"\e[1;41m">>}
]},
%% ******************************************** format相关 ******************************************************
{metadataWhitelist, []},
{rPrettyStrace, true},
%%*********************************************** handler与接收器(sink) and traces ******************************
%% 消息处理模块可以存在多个,[{Name, [Optins]}]=Handler() {lager_file_backend, [{file, "console.log"}, {level, info}]} 消息处理模块可以存在多个
{handlers, []},
%% 额外的接收器列表 [{handler, [Handler()]}]
{extraSinks, []},
%% traces列表 [{handler, [Handler()]}]
{traces, []},
%%*********************************************** 异步日志相关 *****************************************************
%% 异步切换到同步时模式gen_emm邮箱的最大消息数,此值仅应用于默认接收器; 额外的接收器也可以自己配置。
@ -27,13 +31,18 @@
%% 此值仅适用于默认接收器。额外的接收器需要选项中配置。
{asyncThrWindow, undefined},
%%*********************************************** handler与接收器(sink) and traces ******************************
%% 消息处理模块可以存在多个,[{Name, [Optins]}]=Handler() {lager_file_backend, [{file, "console.log"}, {level, info}]} 消息处理模块可以存在多个
{handlers, []},
%% 额外的接收器列表 [{handler, [Handler()]}]
{extraSinks, []},
%% traces列表 [{handler, [Handler()]}]
{traces, []},
%% ********************************************** killer相关 ****************************************************
%% 如果接收器的邮箱大小超过1000条消息,请杀死整个接收器并在5000毫秒后重新加载它。如果需要,此行为也可以安装到其他接收器中。
{killerHwm, 1000},
%% 参见killer_hwm
{killerReTime, 5000},
%% ******************************************** format相关 ******************************************************
%% 元数据名单列表
{metadataWhitelist, []},
%% 是否美化堆栈
{rPrettyStrace, true},
%% ********************************************** 日志文件配置相关 ************************************************
%% 可选的日志路径, 默认情况下是当前路径
@ -54,6 +63,7 @@
%% 崩溃日志旋转器模块-默认为lager_rotator_default
{crashLogRotator, rumRotatorIns},
%% ********************************************** error_logger相关 **********************************************
%% 是否将error_logger消息重定向到默认的lager_event接收器-默认为true
{errLoggerRedirect, true},
@ -63,24 +73,18 @@
{errLoggerHwm, undefined},
%% errLogger group leader策略 handle | ignore | mirror
{errLoggerGLS, handle},
%%是否禁止 disable reformatting for OTP and Cowboy messages
{errLoggerFormatRaw, false},
%% 超过高水位标记时,可以将啤酒配置为刷新消息队列中的所有事件通知
{errLoggerFlushQueue, true},
%% 如果flush_queue为true,则可以设置消息队列长度阈值,在该阈值处将开始丢弃消息。默认阈值为0,这意味着如果flush_queue为true,
%% 则超过高水位标记时将丢弃消息,而不管消息队列的长度如何。用于控制阈值的选项是error_logger:
%% 则超过高水位标记时将丢弃消息,而不管消息队列的长度如何。
{errLoggerFlushThr, 20},
%% ********************************************** killer相关 ****************************************************
%% 如果接收器的邮箱大小超过1000条消息,请杀死整个接收器并在5000毫秒后重新加载它。如果需要,此行为也可以安装到其他水槽中。
{killerHwm, 1000},
%% 参见killer_hwm
{killerReTime, 5000},
%% ********************************************** app启动停止监听相关 *********************************************
%% 如果您不想在应用程序的调试级别看到主管和应用程序启动/停止日志,则可以使用以下配置将其关闭:
{suppressAppStartStop, true},
{suppressSupStartStop, true}
%% 是否不在应用程序的调试级别看到主管和应用程序启动/停止日志
{suppressAppStartStop, false},
{suppressSupStartStop, false}
]}
].

+ 3
- 5
src/errLogger/rumErrLoggerH.erl Näytä tiedosto

@ -66,7 +66,7 @@ setHighWater(N) ->
-spec init(any()) -> {ok, #state{}}.
init([HighWaterMark, GlStrategy]) ->
Flush = rumUtil:get_env(errLoggerFlushQueue, true),
FlushThr = rumUtil:get_env(errLoggerFlushThr, 0),
FlushThr = rumUtil:get_env(errLoggerFlushThr, 20),
Shaper = #rumShaper{hwm = HighWaterMark, flushQueue = Flush, flushThr = FlushThr, filter = shaperFun(), id = ?MODULE},
Raw = rumUtil:get_env(errLoggerFormatRaw, false),
Sink = configSink(),
@ -335,8 +335,7 @@ logEvent(Event, #state{sink = Sink, raw = FormatRaw} = State) ->
no_log;
_ ->
{Md, Formatted} = formatReasonMd(Reason),
?LOGFMT(Sink, info, [{pid, Pid} | Md], "Application ~w exited with reason: ~s",
[App, Formatted])
?LOGFMT(Sink, info, [{pid, Pid} | Md], "Application ~w exited with reason: ~s", [App, Formatted])
end;
_ ->
?LOGMSG(Sink, info, Pid, printSillyList(D))
@ -351,8 +350,7 @@ logEvent(Event, #state{sink = Sink, raw = FormatRaw} = State) ->
true ->
no_log;
_ ->
?LOGFMT(Sink, info, P, "Application ~w started on node ~w",
[App, Node])
?LOGFMT(Sink, info, P, "Application ~w started on node ~w", [App, Node])
end;
[{started, Started}, {supervisor, Name}] ->
case rumUtil:get_env(suppressSupStartStop, false) of

+ 2
- 2
src/utils/rumUtil.erl Näytä tiedosto

@ -527,7 +527,7 @@ checkHwm(Shaper = #rumShaper{filter = Filter}, Event) ->
end.
%% S i.e.
checkHwm(#rumShaper{id = Id, hwm = Hwm, mps = Mps, lastTime = LastTime, dropped = Drop, flushQueue = FlushQueue, flushThr = FlushThreshold, timer = Timer, filter = Filter} = Shaper) ->
checkHwm(#rumShaper{id = Id, hwm = Hwm, mps = Mps, lastTime = LastTime, dropped = Drop, flushQueue = FlushQueue, flushThr = FlushThr, timer = Timer, filter = Filter} = Shaper) ->
if
Hwm == undefined ->
{true, 0, Shaper};
@ -548,7 +548,7 @@ checkHwm(#rumShaper{id = Id, hwm = Hwm, mps = Mps, lastTime = LastTime, dropped
case LastTime == NowTime of
true ->
%% still in same second, but have exceeded the high water mark
NewDrops = ?IIF(isNeedFlush(FlushQueue, FlushThreshold), dropMsg(NowTime, Filter, 0), 0),
NewDrops = ?IIF(isNeedFlush(FlushQueue, FlushThr), dropMsg(NowTime, Filter, 0), 0),
NewTimer = ?IIF(erlang:read_timer(Timer) =/= false, Timer, erlang:send_after(1000 - PastMs, self(), {mShaperExpired, Id})),
{false, 0, Shaper#rumShaper{dropped = Drop + NewDrops + 1, timer = NewTimer}};
_ ->

Ladataan…
Peruuta
Tallenna