Browse Source

make trace and stop_trace take the same arguments

pull/247/head
Luis Rascao 10 years ago
parent
commit
9d0bfda1d5
1 changed files with 14 additions and 5 deletions
  1. +14
    -5
      src/lager.erl

+ 14
- 5
src/lager.erl View File

@ -27,7 +27,7 @@
log/3, log/4,
md/0, md/1,
trace/2, trace/3, trace_file/2, trace_file/3, trace_file/4, trace_console/1, trace_console/2,
clear_all_traces/0, stop_trace/1, status/0,
clear_all_traces/0, stop_trace/3, status/0,
get_loglevel/1, set_loglevel/2, set_loglevel/3, get_loglevels/0,
update_loglevel_config/0, posix_error/1,
safe_format/3, safe_format_chop/3, dispatch_log/5, dispatch_log/9,
@ -195,18 +195,27 @@ trace(Backend, Filter, Level) ->
Error
end.
stop_trace({_Filter, _Level, Target} = Trace) ->
stop_trace(Backend, Filter, Level) ->
Trace0 = {Filter, Level, Backend},
case lager_util:validate_trace(Trace0) of
{ok, Trace} ->
stop_trace(Trace);
Error ->
Error
end.
stop_trace({Backend, _Filter, _Level} = Trace) ->
{Level, Traces} = lager_config:get(loglevel),
NewTraces = lists:delete(Trace, Traces),
_ = lager_util:trace_filter([ element(1, T) || T <- NewTraces ]),
%MinLevel = minimum_loglevel(get_loglevels() ++ get_trace_levels(NewTraces)),
lager_config:set(loglevel, {Level, NewTraces}),
case get_loglevel(Target) of
case get_loglevel(Backend) of
none ->
%% check no other traces point here
case lists:keyfind(Target, 3, NewTraces) of
case lists:keyfind(Backend, 3, NewTraces) of
false ->
gen_event:delete_handler(lager_event, Target, []);
gen_event:delete_handler(lager_event, Backend, []);
_ ->
ok
end;

Loading…
Cancel
Save