Selaa lähdekoodia

Merge pull request #308 from basho/gh267-2.x

Backport fix from #306 into 2.x branch

Reviewed-by: macintux
pull/338/head
Bishop Bors 9 vuotta sitten
vanhempi
commit
17835c797d
2 muutettua tiedostoa jossa 28 lisäystä ja 1 poistoa
  1. +10
    -1
      src/lager.erl
  2. +18
    -0
      test/lager_test_backend.erl

+ 10
- 1
src/lager.erl Näytä tiedosto

@ -210,7 +210,16 @@ stop_trace(Backend, Filter, Level) ->
stop_trace({Backend, Filter, Level}) ->
stop_trace(Backend, Filter, Level).
stop_trace_int({Backend, _Filter, _Level} = Trace) ->
%% Important: validate_trace_filters orders the arguments of
%% trace tuples differently than the way outside callers have
%% the trace tuple.
%%
%% That is to say, outside they are represented as
%% `{Backend, Filter, Level}'
%%
%% and when they come back from validation, they're
%% `{Filter, Level, Backend}'
stop_trace_int({_Filter, _Level, Backend} = Trace) ->
{Level, Traces} = lager_config:get(loglevel),
NewTraces = lists:delete(Trace, Traces),
_ = lager_util:trace_filter([ element(1, T) || T <- NewTraces ]),

+ 18
- 0
test/lager_test_backend.erl Näytä tiedosto

@ -489,6 +489,24 @@ lager_test_() ->
ok
end
},
{"stopped trace stops and removes its event handler (gh#267)",
fun() ->
StartHandlers = gen_event:which_handlers(lager_event),
{_, T0} = lager_config:get(loglevel),
?assertEqual([], T0),
{ok, Test} = lager:trace_file("/tmp/test", [{vhost, test}]),
MidHandlers = gen_event:which_handlers(lager_event),
?assertEqual(length(StartHandlers)+1, length(MidHandlers)),
{_, T1} = lager_config:get(loglevel),
?assertEqual(1, length(T1)),
ok = lager:stop_trace(Test),
{_, T2} = lager_config:get(loglevel),
?assertEqual([], T2),
EndHandlers = gen_event:which_handlers(lager_event),
?assertEqual(StartHandlers, EndHandlers),
ok
end
},
{"record printing works",
fun() ->
print_state(),

Ladataan…
Peruuta
Tallenna