浏览代码

get/2 was confusing: Sink, Key or Key, Default. Clean up by forcing into {Sink, Key} tuple

pull/264/head
John R. Daily 10 年前
父节点
当前提交
2926dd51a1
共有 2 个文件被更改,包括 17 次插入17 次删除
  1. +8
    -8
      src/lager.erl
  2. +9
    -9
      src/lager_config.erl

+ 8
- 8
src/lager.erl 查看文件

@ -90,7 +90,7 @@ dispatch_log(Severity, Metadata, Format, Args, Size) when is_atom(Severity)->
%% this is the same check that the parse transform bakes into the module at compile time
dispatch_log(Sink, Severity, Metadata, Format, Args, Size) when is_atom(Severity)->
SeverityAsInt=lager_util:level_to_num(Severity),
case {whereis(Sink), lager_config:get(Sink, loglevel, {?LOG_NONE, []})} of
case {whereis(Sink), lager_config:get({Sink, loglevel}, {?LOG_NONE, []})} of
{undefined, _} ->
{error, lager_not_running};
{SinkPid, {Level, Traces}} when (Level band SeverityAsInt) /= 0 orelse Traces /= [] ->
@ -117,7 +117,7 @@ do_log(Severity, Metadata, Format, Args, Size, SeverityAsInt, LevelThreshold, Tr
end,
LagerMsg = lager_msg:new(Msg,
Severity, Metadata, Destinations),
case lager_config:get(Sink, async, false) of %% this needs to be able to get value from a non-default sink
case lager_config:get({Sink, async}, false) of %% this needs to be able to get value from a non-default sink
true ->
gen_event:notify(SinkPid, {log, LagerMsg});
false ->
@ -250,11 +250,11 @@ stop_trace({Backend, Filter, Level}) ->
stop_trace(Backend, Filter, Level).
stop_trace_int({Backend, _Filter, _Level} = Trace, Sink) ->
{Level, Traces} = lager_config:get(Sink, loglevel),
{Level, Traces} = lager_config:get({Sink, 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(Sink, loglevel, {Level, NewTraces}),
lager_config:set({Sink, loglevel}, {Level, NewTraces}),
case get_loglevel(Sink, Backend) of
none ->
%% check no other traces point here
@ -389,21 +389,21 @@ get_loglevels(Sink) ->
%% @private
add_trace_to_loglevel_config(Trace, Sink) ->
{MinLevel, Traces} = lager_config:get(Sink, loglevel),
{MinLevel, Traces} = lager_config:get({Sink, loglevel}),
case lists:member(Trace, Traces) of
false ->
NewTraces = [Trace|Traces],
_ = lager_util:trace_filter([ element(1, T) || T <- NewTraces]),
lager_config:set(Sink, loglevel, {MinLevel, [Trace|Traces]});
lager_config:set({Sink, loglevel}, {MinLevel, [Trace|Traces]});
_ ->
ok
end.
%% @doc recalculate min log level
update_loglevel_config(Sink) ->
{_, Traces} = lager_config:get(Sink, loglevel),
{_, Traces} = lager_config:get({Sink, loglevel}),
MinLog = minimum_loglevel(get_loglevels(Sink)),
lager_config:set(Sink, loglevel, {MinLog, Traces}).
lager_config:set({Sink, loglevel}, {MinLog, Traces}).
%% @private
minimum_loglevel(Levels) ->

+ 9
- 9
src/lager_config.erl 查看文件

@ -20,7 +20,7 @@
-include("lager.hrl").
-export([new/0, get/1, get/2, get/3, set/2, set/3,
-export([new/0, get/1, get/2, set/2,
global_get/1, global_get/2, global_set/2]).
-define(TBL, lager_config).
@ -57,13 +57,11 @@ global_get(Key, Default) ->
global_set(Key, Value) ->
set(?GLOBAL, Key, Value).
get(Key) ->
get(?DEFAULT_SINK, Key, undefined).
get(Key, Default) ->
get(?DEFAULT_SINK, Key, Default).
get(Key) ->
get({?DEFAULT_SINK, Key}, undefined).
get(Sink, Key, Default) ->
get({Sink, Key}, Default) ->
try
case ets:lookup(?TBL, {Sink, Key}) of
[] ->
@ -74,10 +72,12 @@ get(Sink, Key, Default) ->
catch
_:_ ->
Default
end.
end;
get(Key, Default) ->
get({?DEFAULT_SINK, Key}, Default).
set(Key, Value) ->
set(?DEFAULT_SINK, Key, Value).
set({?DEFAULT_SINK, Key}, Value).
set(Sink, Key, Value) ->
set({Sink, Key}, Value) ->
ets:insert(?TBL, {{Sink, Key}, Value}).

正在加载...
取消
保存