|
@ -45,42 +45,41 @@ init(_Args) -> |
|
|
|
|
|
|
|
|
RumEventSpec = #{ |
|
|
RumEventSpec = #{ |
|
|
id => rumEvent, |
|
|
id => rumEvent, |
|
|
start => {gen_event, start_link, [{local, rumEvent}]}, |
|
|
|
|
|
|
|
|
start => {gen_emm, start_link, [{local, rumEvent}]}, |
|
|
restart => permanent, |
|
|
restart => permanent, |
|
|
shutdown => 5000, |
|
|
shutdown => 5000, |
|
|
type => worker, |
|
|
type => worker, |
|
|
modules => [dynamic] |
|
|
modules => [dynamic] |
|
|
}, |
|
|
}, |
|
|
RumHleWatcherSupSpec = #{ |
|
|
|
|
|
id => rumHleWatcherSup, |
|
|
|
|
|
start => {rumHleWatcherSup, start_link, []}, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RumHWatcherSupSpec = #{ |
|
|
|
|
|
id => rumHWatcherSup, |
|
|
|
|
|
start => {rumHWatcherSup, start_link, []}, |
|
|
restart => permanent, |
|
|
restart => permanent, |
|
|
shutdown => 5000, |
|
|
shutdown => 5000, |
|
|
type => supervisor, |
|
|
type => supervisor, |
|
|
modules => [rumHleWatcherSup] |
|
|
|
|
|
|
|
|
modules => [rumHWatcherSup] |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
CrashLogSpec = crashLogSpec(application:get_env(lager, crash_log, false)), |
|
|
|
|
|
|
|
|
CrashLogSpec = crashLogSpec(application:get_env(?RumAppName, crashLogFile, false)), |
|
|
|
|
|
|
|
|
ChildSpecs = |
|
|
ChildSpecs = |
|
|
case CrashLogSpec of |
|
|
case CrashLogSpec of |
|
|
undefined -> |
|
|
undefined -> |
|
|
[RumEventSpec, RumHleWatcherSupSpec]; |
|
|
|
|
|
|
|
|
[RumEventSpec, RumHWatcherSupSpec]; |
|
|
_ -> |
|
|
_ -> |
|
|
[RumEventSpec, RumHleWatcherSupSpec, CrashLogSpec] |
|
|
|
|
|
|
|
|
[RumEventSpec, RumHWatcherSupSpec, CrashLogSpec] |
|
|
end, |
|
|
end, |
|
|
{ok, {SupFlags, ChildSpecs}}. |
|
|
{ok, {SupFlags, ChildSpecs}}. |
|
|
|
|
|
|
|
|
crashLogSpec(undefined) -> |
|
|
|
|
|
undefined; |
|
|
|
|
|
crashLogSpec(false) -> |
|
|
crashLogSpec(false) -> |
|
|
undefined; |
|
|
undefined; |
|
|
crashLogSpec(File) -> |
|
|
crashLogSpec(File) -> |
|
|
MaxBytes = ensurePositive(application:get_env(?RumAppName, crash_log_msg_size), 65536), |
|
|
|
|
|
RotationSize = ensurePositive(application:get_env(?RumAppName, crash_log_size), 0), |
|
|
|
|
|
RotationCount = ensurePositive(application:get_env(?RumAppName, crash_log_count), 0), |
|
|
|
|
|
RotationDate = rotationDate(application:get_env(?RumAppName, crash_log_date)), |
|
|
|
|
|
RotationMod = rotatorMod(application:get_env(?RumAppName, crash_log_rotator), lager_rotator_default), |
|
|
|
|
|
|
|
|
MaxBytes = rumUtil:get_env(?RumAppName, crash_log_msg_size, 65536), |
|
|
|
|
|
RotationSize = rumUtil:get_env(?RumAppName, crash_log_size, 0), |
|
|
|
|
|
RotationCount = rumUtil:get_env(?RumAppName, crash_log_count, 0), |
|
|
|
|
|
RotationDate = rumUtil:get_env(?RumAppName, crash_log_date, "$D0"), |
|
|
|
|
|
RotationMod = rumUtil:get_env(?RumAppName, crash_log_rotator, lager_rotator_default), |
|
|
#{ |
|
|
#{ |
|
|
id => rumCrashLog, |
|
|
id => rumCrashLog, |
|
|
start => {rumCrashLog, start_link, [File, MaxBytes, RotationSize, RotationDate, RotationCount, RotationMod]}, |
|
|
start => {rumCrashLog, start_link, [File, MaxBytes, RotationSize, RotationDate, RotationCount, RotationMod]}, |
|
@ -90,27 +89,3 @@ crashLogSpec(File) -> |
|
|
modules => [rumCrashLog] |
|
|
modules => [rumCrashLog] |
|
|
}. |
|
|
}. |
|
|
|
|
|
|
|
|
%% IMY-todo 下面这些函数删除掉 |
|
|
|
|
|
|
|
|
|
|
|
ensurePositive({ok, Val}, _Default) when is_integer(Val) andalso Val >= 0 -> |
|
|
|
|
|
Val; |
|
|
|
|
|
ensurePositive(_Val, Default) -> |
|
|
|
|
|
Default. |
|
|
|
|
|
|
|
|
|
|
|
rotationDate({ok, ""}) -> |
|
|
|
|
|
undefined; |
|
|
|
|
|
rotationDate({ok, Val3}) -> |
|
|
|
|
|
case rumUtil:parse_rotation_date_spec(Val3) of |
|
|
|
|
|
{ok, Spec} -> Spec; |
|
|
|
|
|
{error, _} -> |
|
|
|
|
|
error_logger:error_msg("Invalid date spec for crash log ~p~n", [Val3]), |
|
|
|
|
|
undefined |
|
|
|
|
|
end; |
|
|
|
|
|
rotationDate(_) -> |
|
|
|
|
|
undefined. |
|
|
|
|
|
|
|
|
|
|
|
rotatorMod({ok, Mod}, _Default) when is_atom(Mod) -> |
|
|
|
|
|
Mod; |
|
|
|
|
|
rotatorMod(_, Default) -> |
|
|
|
|
|
Default. |
|
|
|
|
|
|
|
|
|