|
[
|
|
{eLog, [
|
|
%% ******************************************** 颜色打印相关 *****************************************************
|
|
%% 是否开启颜色
|
|
{colored, true},
|
|
%% 颜色码配置
|
|
{colors, [
|
|
{debug, <<"\e[0;38m">>},
|
|
{info, <<"\e[1;37m">>},
|
|
{notice, <<"\e[1;36m">>},
|
|
{warning, <<"\e[1;33m">>},
|
|
{error, <<"\e[1;31m">>},
|
|
{critical, <<"\e[1;35m">>},
|
|
{alert, <<"\e[1;44m">>},
|
|
{emergency, <<"\e[1;41m">>}
|
|
]},
|
|
|
|
%% ********************************************** 日志文件配置相关 ************************************************
|
|
%% 可选的日志路径, 默认情况下是当前路径
|
|
{logRoot, <<"./log">>},
|
|
|
|
%%*********************************************** handler与接收器(sink) and traces ******************************
|
|
%% 消息处理模块可以存在多个,[{SinkModule, [lgConsoleOpt() | lgFileOpt()]}]=Handler() 消息处理模块可以存在多个
|
|
%% eg: {handlers, [
|
|
%% {lgBkdFile, [{id, console}, {file, "console.log"}, {level, info}]},
|
|
%% {lgBkdFile, [{id, error}, {file, "error.log"}, {level, error}]},
|
|
%% {lgBkdConsole, [{level, info}]}
|
|
%% ]}
|
|
{handlers, [
|
|
{lgBkdConsole, [{level, '>=debug'}]},
|
|
{lgBkdFile, [{id, debug}, {file, <<"console.log">>}, {level, '>=debug'}, {size, 10485760}, {date, <<"$D0">>}]},
|
|
{lgBkdFile, [{id, info}, {file, <<"info.log">>}, {level, '>=info'}, {size, 10485760}, {date, <<"$D0">>}]},
|
|
{lgBkdFile, [{id, error}, {file, <<"error.log">>}, {level, '>=error'}, {size, 10485760}, {date, <<"$D0">>}]}
|
|
]},
|
|
|
|
%% 额外的接收器列表 [{SinkName, [{handlers, Handler()}|{asyncThreshold, 500}|{asyncThrWindow, 50}|{killerHwm, 1000}|{killerReTime, 5000}]}]
|
|
%% eg: {extraSinks, [
|
|
%% {auditEvent,[{handlers, [{lgBkdFile, [{file, "audit.log"}, {level, info}]}]}, {asyncThreshold, 500}, {asyncThrWindow, 50}]}
|
|
%% ]}}
|
|
{extraSinks, []},
|
|
%% traces列表 [{handler, [Handler()]}]
|
|
%%eg: {traces, [
|
|
%% handler, filter, message level (defaults to debug if not given)
|
|
%% {lgBkdConsole, [{module, foo}], info},
|
|
%% {{lgBkdFile, "trace.log"}, [{request, '>', 120}], error},
|
|
%% {{lgBkdFile, "event.log"}, [{module, bar}]} %% implied debug level here
|
|
%% ]}
|
|
{traces, []},
|
|
|
|
%%*********************************************** 异步日志相关 *****************************************************
|
|
%% 异步切换到同步时模式gen_emm邮箱的最大消息数,此值仅应用于默认接收器; 额外的接收器也可以自己配置。
|
|
%% 格式 integer() | undefined 当值为undefined 禁用此功能
|
|
{asyncThreshold, undefined},
|
|
%%当gen_emm 邮箱大小从 asyncThreshold 减小到 asyncThreshold-asyncThrWindow 时,切换回异步模式。当值为undefined时, 最终使用的是asyncThreshold * 0.2
|
|
%% 此值仅适用于默认接收器。额外的接收器需要选项中配置。
|
|
{asyncThrWindow, undefined},
|
|
|
|
%% ********************************************** killer相关 ****************************************************
|
|
%% 如果接收器的邮箱大小超过1000条消息,请杀死整个接收器并在5000毫秒后重新加载它。如果需要,此行为也可以安装到其他接收器中。
|
|
%% 格式 integer() | undefined 当值为undefined 禁用此功能
|
|
{killerHwm, 1000},
|
|
%% 参见killer_hwm
|
|
{killerReTime, 5000},
|
|
|
|
%% ******************************************** format相关 ******************************************************
|
|
%% 元数据名单列表
|
|
{mdWhitelist, []},
|
|
|
|
%% crash log cfg
|
|
%% 有效值 string | false 值为 false 的时候 没有 crash logger.
|
|
{crashLogFile, <<"crash.log">>},
|
|
%%崩溃日志中事件的最大大小(以字节为单位)-默认为65536
|
|
{crashLogMsgSize, 65536},
|
|
%% 崩溃日志的最大大小(以字节为单位),在旋转之前,设置为0以禁用旋转-默认值为0
|
|
{crashLogFileSize, 0},
|
|
%% 什么时间轮换崩溃日志-默认为无时间轮换。有关此格式的说明,请参见自述文件。
|
|
{crashLogDate, <<"$D0">>},
|
|
%% 要保留的已轮转崩溃日志的数量,0表示仅保留当前的一个-默认值为0
|
|
{crashLogCount, 0},
|
|
%% 崩溃日志旋转器模块-默认为lgRotatorIns
|
|
{crashLogRotator, lgRotatorIns},
|
|
|
|
%% ********************************************** error_logger相关 **********************************************
|
|
%% 是否将error_logger消息重定向到默认的eLog_event接收器-默认为true
|
|
{errLoggerRedirect, true},
|
|
%% 列表中的handler 不会从error_logger handler列表中移除
|
|
{errLoggerWhitelist, []},
|
|
%% 每秒允许来自error_logger的消息数量是多少 超过就丢弃掉 值为undefined禁止抛弃
|
|
{errLoggerHwm, undefined},
|
|
%% errLogger group leader策略 handle | ignore | mirror
|
|
{errLoggerGLS, handle},
|
|
%%是否禁止 disable reformatting for OTP and Cowboy messages false表示会格式化OTP和Cowboy的错误信息
|
|
{errLoggerFmtRaw, false},
|
|
%% 超过高水位标记时,可以配置为刷新消息队列中的所有事件通知
|
|
{errLoggerFlushQueue, true},
|
|
%% 如果flush_queue为true,则可以设置消息队列缓存阈值,消息队列中消息数量超过该阈值处将开始丢弃消息。默认阈值为0,这意味着如果flush_queue为true,
|
|
%% 则超过高水位标记时将丢弃消息,而不管消息队列的长度如何。
|
|
{errLoggerFlushThr, 20},
|
|
|
|
%% ********************************************** app启动停止监听相关 *********************************************
|
|
%% 是否不在应用程序的调试级别看到主管和应用程序启动/停止日志
|
|
{suppressAppStartStop, false},
|
|
{suppressSupStartStop, false}
|
|
]}
|
|
].
|
|
|
|
|