Kaynağa Gözat

Merge pull request #355 from juise/fix-get-env

Fix get_env bug
pull/360/head
John Daily 9 yıl önce
ebeveyn
işleme
651e793d9d
3 değiştirilmiş dosya ile 36 ekleme ve 10 silme
  1. +3
    -1
      rebar.config
  2. +11
    -9
      src/lager_app.erl
  3. +22
    -0
      test/lager_app_tests.erl

+ 3
- 1
rebar.config Dosyayı Görüntüle

@ -40,9 +40,12 @@
{eunit_opts, [verbose]}.
{eunit_compile_opts, [
export_all,
nowarn_untyped_record,
nowarn_export_all
]}.
{deps, [
{goldrush, ".*", {git, "git://github.com/DeadZen/goldrush.git", {tag, "0.1.8"}}}
]}.
@ -53,4 +56,3 @@
{cover_enabled, true}.
{edoc_opts, [{stylesheet_file, "./priv/edoc.css"}]}.
{eunit_opts, [verbose]}.

+ 11
- 9
src/lager_app.erl Dosyayı Görüntüle

@ -138,11 +138,10 @@ maybe_install_sink_killer(_Sink, HWM, ReinstallTimer) ->
error_logger:error_msg("Invalid value for 'killer_hwm': ~p or 'killer_reinstall_after': ~p", [HWM, ReinstallTimer]),
throw({error, bad_config}).
start_error_logger_handler({ok, false}, _HWM, _Whitelist) ->
-spec start_error_logger_handler(boolean(), pos_integer(), list()) -> list().
start_error_logger_handler(false, _HWM, _Whitelist) ->
[];
start_error_logger_handler(_, HWM, undefined) ->
start_error_logger_handler(ignore_me, HWM, {ok, []});
start_error_logger_handler(_, HWM, {ok, WhiteList}) ->
start_error_logger_handler(true, HWM, WhiteList) ->
GlStrategy = case application:get_env(lager, error_logger_groupleader_strategy) of
undefined ->
handle;
@ -200,13 +199,16 @@ configure_extra_sinks(Sinks) ->
lists:foreach(fun({Sink, Proplist}) -> configure_sink(Sink, Proplist) end,
Sinks).
-spec get_env(atom(), atom()) -> term().
get_env(Application, Key) ->
get_env(Application, Key, undefined).
%% R15 doesn't know about application:get_env/3
-spec get_env(atom(), atom(), term()) -> term().
get_env(Application, Key, Default) ->
get_env_default(application:get_env(Application, Key),
Default).
get_env_default(application:get_env(Application, Key), Default).
-spec get_env_default('undefined' | {'ok', term()}, term()) -> term().
get_env_default(undefined, Default) ->
Default;
get_env_default({ok, Value}, _Default) ->
@ -235,9 +237,9 @@ boot() ->
lager:update_loglevel_config(?DEFAULT_SINK),
SavedHandlers = start_error_logger_handler(
get_env(lager, error_logger_redirect),
interpret_hwm(get_env(lager, error_logger_hwm)),
get_env(lager, error_logger_whitelist)
get_env(lager, error_logger_redirect, true),
interpret_hwm(get_env(lager, error_logger_hwm, 0)),
get_env(lager, error_logger_whitelist, [])
),
SavedHandlers.

+ 22
- 0
test/lager_app_tests.erl Dosyayı Görüntüle

@ -0,0 +1,22 @@
-module(lager_app_tests).
-compile([{parse_transform, lager_transform}]).
-include_lib("eunit/include/eunit.hrl").
get_env_default_test() ->
?assertEqual(<<"Some">>, lager_app:get_env_default(undefined, <<"Some">>)),
?assertEqual(<<"Value">>, lager_app:get_env_default({ok, <<"Value">>}, <<"Some">>)),
ok.
get_env_test() ->
application:set_env(myapp, mykey1, <<"Value">>),
?assertEqual(<<"Some">>, lager_app:get_env(myapp, mykey0, <<"Some">>)),
?assertEqual(<<"Value">>, lager_app:get_env(myapp, mykey1, <<"Some">>)),
?assertEqual(undefined, lager_app:get_env(myapp, mykey0)),
?assertEqual(<<"Value">>, lager_app:get_env(myapp, mykey1)),
ok.

Yükleniyor…
İptal
Kaydet