浏览代码

Add an env var to stop lager actually booting

adt/lager_use_logger-option
Andrew Thompson 6 年前
父节点
当前提交
ad25bf8311
共有 2 个文件被更改,包括 33 次插入23 次删除
  1. +10
    -5
      src/lager_app.erl
  2. +23
    -18
      src/lager_sup.erl

+ 10
- 5
src/lager_app.erl 查看文件

@ -226,11 +226,16 @@ get_env(Application, Key, Default) ->
start(_StartType, _StartArgs) ->
{ok, Pid} = lager_sup:start_link(),
SavedHandlers = boot(),
_ = boot('__all_extra'),
_ = boot('__traces'),
clean_up_config_checks(),
{ok, Pid, SavedHandlers}.
case application:get_env(lager, lager_use_logger, false) of
false ->
SavedHandlers = boot(),
_ = boot('__all_extra'),
_ = boot('__traces'),
clean_up_config_checks(),
{ok, Pid, SavedHandlers};
true ->
{ok, Pid}
end.
boot() ->
%% Handle the default sink.

+ 23
- 18
src/lager_sup.erl 查看文件

@ -32,24 +32,29 @@ start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
init([]) ->
%% set up the config, is safe even during relups
lager_config:new(),
%% TODO:
%% Always start lager_event as the default and make sure that
%% other gen_event stuff can start up as needed
%%
%% Maybe a new API to handle the sink and its policy?
Children = [
{lager, {gen_event, start_link, [{local, lager_event}]},
permanent, 5000, worker, dynamic},
{lager_handler_watcher_sup, {lager_handler_watcher_sup, start_link, []},
permanent, 5000, supervisor, [lager_handler_watcher_sup]}],
CrashLog = decide_crash_log(application:get_env(lager, crash_log, false)),
{ok, {{one_for_one, 10, 60},
Children ++ CrashLog
}}.
case application:get_env(lager, lager_use_logger, false) of
true ->
{ok, {{one_for_one, 10, 60}, []}};
false ->
%% set up the config, is safe even during relups
lager_config:new(),
%% TODO:
%% Always start lager_event as the default and make sure that
%% other gen_event stuff can start up as needed
%%
%% Maybe a new API to handle the sink and its policy?
Children = [
{lager, {gen_event, start_link, [{local, lager_event}]},
permanent, 5000, worker, dynamic},
{lager_handler_watcher_sup, {lager_handler_watcher_sup, start_link, []},
permanent, 5000, supervisor, [lager_handler_watcher_sup]}],
CrashLog = decide_crash_log(application:get_env(lager, crash_log, false)),
{ok, {{one_for_one, 10, 60},
Children ++ CrashLog
}}
end.
validate_positive({ok, Val}, _Default) when is_integer(Val) andalso Val >= 0 ->
Val;

正在加载...
取消
保存