diff --git a/eRum.sample.config b/eRum.sample.config index 3991e49..531cea5 100644 --- a/eRum.sample.config +++ b/eRum.sample.config @@ -2,7 +2,7 @@ {eRum, [ %% ******************************************** 颜色打印相关 ***************************************************** %% 是否开启颜色 - {colored, false}, + {colored, true}, %% 颜色码配置 {colors, [ {debug, <<"\e[0;38m">>}, @@ -20,20 +20,19 @@ {rPrettyStrace, true}, %%*********************************************** 异步日志相关 ***************************************************** - %% 异步切换到同步时模式gen_event邮箱的最大消息数,此值仅应用于默认接收器; 额外的接收器也可以自己配置。 + %% 异步切换到同步时模式gen_emm邮箱的最大消息数,此值仅应用于默认接收器; 额外的接收器也可以自己配置。 %% 格式 integer() | undefined 当值为undefined 禁用此功能 - {asyncThreshold, 20}, - %%当gen_event 邮箱大小从 asyncThreshold 减小到 asyncThreshold-asyncThrWindow 时,切换回异步模式。 - %% 此值仅适用于默认接收器。额外的接收器可以自己配置。 - {asyncThrWindow, 5}, + {asyncThreshold, undefined}, + %%当gen_emm 邮箱大小从 asyncThreshold 减小到 asyncThreshold-asyncThrWindow 时,切换回异步模式。当值为undefined时, 最终使用的是asyncThreshold * 0.2 + %% 此值仅适用于默认接收器。额外的接收器需要选项中配置。 + {asyncThrWindow, undefined}, - %%*********************************************** handler与接收器(sink) ***************************************** + %%*********************************************** handler与接收器(sink) and traces ****************************** %% 消息处理模块可以存在多个,[{Name, [Optins]}]=Handler() {lager_file_backend, [{file, "console.log"}, {level, info}]} 消息处理模块可以存在多个 {handlers, []}, %% 额外的接收器列表 [{handler, [Handler()]}] {extraSinks, []}, - %% 限制每秒允许的消息数量 最好将此数字保持较小 - {errLoggerHwm, 50}, + %% traces列表 [{handler, [Handler()]}] {traces, []}, %% ********************************************** 日志文件配置相关 ************************************************ @@ -47,21 +46,21 @@ %%崩溃日志中事件的最大大小(以字节为单位)-默认为65536 {crashLogMsgSize, 65536}, %% 崩溃日志的最大大小(以字节为单位),在旋转之前,设置为0以禁用旋转-默认值为0 - {crashLogFileSize, 10485760}, + {crashLogFileSize, 0}, %% 什么时间轮换崩溃日志-默认为无时间轮换。有关此格式的说明,请参见自述文件。 {crashLogDate, "$D0"}, %% 要保留的已轮转崩溃日志的数量,0表示仅保留当前的一个-默认值为0 - {crashLogCount, 5}, + {crashLogCount, 0}, %% 崩溃日志旋转器模块-默认为lager_rotator_default {crashLogRotator, rumRotatorIns}, %% ********************************************** error_logger相关 ********************************************** %% 是否将error_logger消息重定向到默认的lager_event接收器-默认为true - {errLoggerRedirect, false}, + {errLoggerRedirect, true}, %% 列表中的handler 不会处理error_logger {errLoggerWhitelist, []}, - %% 每秒允许来自error_logger的消息数量是多少 超过就丢弃掉 - {errLoggerHwm, 50}, + %% 每秒允许来自error_logger的消息数量是多少 超过就丢弃掉 值为undefined禁止抛弃 + {errLoggerHwm, undefined}, %% errLogger group leader策略 handle | ignore | mirror {errLoggerGLS, handle}, {errLoggerFormatRaw, false}, diff --git a/src/backend/rumBkdConsole.erl b/src/backend/rumBkdConsole.erl index 0add09f..ed5ac25 100644 --- a/src/backend/rumBkdConsole.erl +++ b/src/backend/rumBkdConsole.erl @@ -49,7 +49,7 @@ init(Opts) -> {error, {fatal, old_shell}}; _ -> true = checkOpts(Opts), - CfgColors = ?IIF(rumUtil:get_env(colored, false), rumUtil:get_env(colors, []), []), + CfgColors = ?IIF(rumUtil:get_env(colored, true), rumUtil:get_env(colors, []), []), Colors = [{rumUtil:levelToNum(Level), ColorStr} || {Level, ColorStr} <- CfgColors], Level = rumUtil:get_opt(level, Opts, undefined), LevelMask = rumUtil:configToMask(Level), @@ -116,7 +116,7 @@ code_change(_OldVsn, State, _Extra) -> {ok, State}. eol() -> - ?IIF(rumUtil:get_env(colored, false), "\e[0m\r\n", "\r\n"). + ?IIF(rumUtil:get_env(colored, true), "\e[0m\r\n", "\r\n"). isNewStyleConsole() -> %% Criteria: diff --git a/src/eRum_app.erl b/src/eRum_app.erl index 4c0bc08..52b54c7 100644 --- a/src/eRum_app.erl +++ b/src/eRum_app.erl @@ -33,7 +33,7 @@ doStart() -> tryStartHandlers(rumUtil:get_env(handlers, ?RumDefHandler), ?RumDefSink), %% 尝试替换error logger - SavedHandlers = tryStartErrLoggerHandler(rumUtil:get_env(errLoggerRedirect, true), rumUtil:get_env(errLoggerHwm, 0), rumUtil:get_env(errLoggerWhitelist, [])), + SavedHandlers = tryStartErrLoggerHandler(rumUtil:get_env(errLoggerRedirect, true), rumUtil:get_env(errLoggerHwm, undefined), rumUtil:get_env(errLoggerWhitelist, [])), eRum:updateLogevelCfg(?RumDefSink), SavedHandlers. @@ -49,7 +49,7 @@ startSink(Sink, Opts) -> ChildId = rumUtil:makeInnerSinkName(Sink), SinkSpec = #{ id => ChildId, - start => {gen_event, start_link, [{local, Sink}]}, + start => {gen_emm, start_link, [{local, Sink}]}, restart => permanent, shutdown => 5000, type => worker, diff --git a/src/eRum_sup.erl b/src/eRum_sup.erl index c9427c6..30eca70 100644 --- a/src/eRum_sup.erl +++ b/src/eRum_sup.erl @@ -73,7 +73,7 @@ init(_Args) -> RotationSize = rumUtil:get_env(crashLogFileSize, 0), RotationCount = rumUtil:get_env(crashLogCount, 0), RotationDate = rumUtil:get_env(crashLogDate, "$D0"), - RotationMod = rumUtil:get_env(crashLogRotator, rumRotatorIns), + RotationMod = rumUtil:get_env(crashLogRotator, ?RumDefRotateMod), CrashLogSpec = #{ id => rumCrashLog, start => {rumCrashLog, start_link, [File, MsgMaxBytes, RotationSize, RotationDate, RotationCount, RotationMod]}, diff --git a/src/mgrKiller/rumMgrKiller.erl b/src/mgrKiller/rumMgrKiller.erl index 72b7881..05c96ac 100644 --- a/src/mgrKiller/rumMgrKiller.erl +++ b/src/mgrKiller/rumMgrKiller.erl @@ -42,7 +42,7 @@ handleCall(_Request, State) -> %% 检查每个日志消息的队列长度不是世界上最好的主意。我们将来可以使此操作在轮询计时器上起作用。 handleEvent({mWriteLog, _Message}, State = #state{killerHwm = KillerHWM, killerReTime = KillerReinstallAfter}) -> - {message_queue_len, Len} = process_info(self(), message_queue_len), + {_, Len} = process_info(self(), message_queue_len), case Len > KillerHWM of true -> exit({kill_me, [KillerHWM, KillerReinstallAfter]}); diff --git a/src/watcher/rumHWatcherSrv.erl b/src/watcher/rumHWatcherSrv.erl index 9c9824e..822ec6a 100644 --- a/src/watcher/rumHWatcherSrv.erl +++ b/src/watcher/rumHWatcherSrv.erl @@ -55,7 +55,7 @@ handleInfo({gen_event_EXIT, Module, {'EXIT', {kill_me, [_KillerHWM, KillerReinst %% pending log messages in its mailbox will die too. SinkPid = whereis(Sink), unlink(SinkPid), - {message_queue_len, Len} = process_info(SinkPid, message_queue_len), + {_, Len} = process_info(SinkPid, message_queue_len), error_logger:error_msg("Killing sink ~p, current message_queue_len:~p~n", [Sink, Len]), exit(SinkPid, kill), _ = timer:apply_after(KillerReinstallAfter, lager_app, start_handler, [Sink, Module, Config]),