From ad25bf83114a433b3a63ecc8c0fabeb27417edf9 Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Sat, 2 Feb 2019 17:06:09 -0800 Subject: [PATCH] Add an env var to stop lager actually booting --- src/lager_app.erl | 15 ++++++++++----- src/lager_sup.erl | 41 +++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/src/lager_app.erl b/src/lager_app.erl index 1475f80..53f880d 100644 --- a/src/lager_app.erl +++ b/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. diff --git a/src/lager_sup.erl b/src/lager_sup.erl index 97bfd00..890f272 100644 --- a/src/lager_sup.erl +++ b/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;