From 6d7d1cc11d4b4bad7b00c2cbd9fdc1313b78dd71 Mon Sep 17 00:00:00 2001 From: snaky Date: Mon, 26 Nov 2012 12:40:25 +0400 Subject: [PATCH 1/4] Specify node in the default formatter --- src/lager_default_formatter.erl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lager_default_formatter.erl b/src/lager_default_formatter.erl index cbe614f..cb111eb 100644 --- a/src/lager_default_formatter.erl +++ b/src/lager_default_formatter.erl @@ -78,6 +78,8 @@ output(date,Msg) -> output(time,Msg) -> {_D, T} = lager_msg:timestamp(Msg), T; +output(node,Msg) -> + atom_to_list(node()); output(severity,Msg) -> atom_to_list(lager_msg:severity(Msg)); output(Prop,Msg) when is_atom(Prop) -> From 6ee1113ec0d8cd9dde4feacf1e1bade749f35057 Mon Sep 17 00:00:00 2001 From: Alexander Ovchinnikov Date: Tue, 9 Jul 2013 10:10:14 +0400 Subject: [PATCH 2/4] lager_uril.erl: validate_trace and trace acc modified to accept more filter expressions --- src/lager_util.erl | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/lager_util.erl b/src/lager_util.erl index ae88d19..6d71944 100644 --- a/src/lager_util.erl +++ b/src/lager_util.erl @@ -388,20 +388,17 @@ validate_trace({Filter, Level, Destination}) when is_tuple(Filter); is_list(Filt validate_trace(_) -> {error, invalid_trace}. -validate_trace_filter(Filter) when is_tuple(Filter), is_atom(element(1, Filter)) =:= false -> - false; -validate_trace_filter(Filter) -> - case lists:all(fun({Key, '*'}) when is_atom(Key) -> true; - ({Key, _Value}) when is_atom(Key) -> true; - ({Key, '=', _Value}) when is_atom(Key) -> true; - ({Key, '<', _Value}) when is_atom(Key) -> true; - ({Key, '>', _Value}) when is_atom(Key) -> true; - (_) -> false end, Filter) of - true -> - true; - _ -> - false - end. +validate_trace_filter(Filter) when is_list(Filter) -> + lists:all(fun validate_trace_filter/1, Filter); +validate_trace_filter({Key, '*'}) when is_atom(Key) -> true; +validate_trace_filter({any, L}) when is_list(L) -> lists:all(fun validate_trace_filter/1, L); +validate_trace_filter({all, L}) when is_list(L) -> lists:all(fun validate_trace_filter/1, L); +validate_trace_filter({null, Bool}) when is_boolean(Bool) -> true; +validate_trace_filter({Key, _Value}) when is_atom(Key) -> true; +validate_trace_filter({Key, '=', _Value}) when is_atom(Key) -> true; +validate_trace_filter({Key, '<', _Value}) when is_atom(Key) -> true; +validate_trace_filter({Key, '>', _Value}) when is_atom(Key) -> true; +validate_trace_filter(_) -> false. trace_all(Query) -> glc:all(trace_acc(Query)). @@ -413,18 +410,23 @@ trace_acc(Query) -> trace_acc(Query, []). trace_acc([], Acc) -> - lists:reverse(Acc); + lists:reverse(Acc); +trace_acc([{any, L}|T], Acc) -> + trace_acc(T, [glc:any(L)|Acc]); +trace_acc([{all, L}|T], Acc) -> + trace_acc(T, [glc:all(L)|Acc]); +trace_acc([{null, Bool}|T], Acc) -> + trace_acc(T, [glc:null(Bool)|Acc]); trace_acc([{Key, '*'}|T], Acc) -> - trace_acc(T, [glc:wc(Key)|Acc]); + trace_acc(T, [glc:wc(Key)|Acc]); trace_acc([{Key, Val}|T], Acc) -> - trace_acc(T, [glc:eq(Key, Val)|Acc]); + trace_acc(T, [glc:eq(Key, Val)|Acc]); trace_acc([{Key, '=', Val}|T], Acc) -> - trace_acc(T, [glc:eq(Key, Val)|Acc]); + trace_acc(T, [glc:eq(Key, Val)|Acc]); trace_acc([{Key, '>', Val}|T], Acc) -> - trace_acc(T, [glc:gt(Key, Val)|Acc]); + trace_acc(T, [glc:gt(Key, Val)|Acc]); trace_acc([{Key, '<', Val}|T], Acc) -> - trace_acc(T, [glc:lt(Key, Val)|Acc]). - + trace_acc(T, [glc:lt(Key, Val)|Acc]). check_traces(_, _, [], Acc) -> lists:flatten(Acc); From e697038a84981101b360d2ed9907f6ec9a6ec3ca Mon Sep 17 00:00:00 2001 From: Alexander Ovchinnikov Date: Tue, 9 Jul 2013 12:30:21 +0400 Subject: [PATCH 3/4] Revert "Specify node in the default formatter" This reverts commit 6d7d1cc11d4b4bad7b00c2cbd9fdc1313b78dd71. --- src/lager_default_formatter.erl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lager_default_formatter.erl b/src/lager_default_formatter.erl index 0b62371..312f6a0 100644 --- a/src/lager_default_formatter.erl +++ b/src/lager_default_formatter.erl @@ -84,8 +84,6 @@ output(date,Msg) -> output(time,Msg) -> {_D, T} = lager_msg:datetime(Msg), T; -output(node,Msg) -> - atom_to_list(node()); output(severity,Msg) -> atom_to_list(lager_msg:severity(Msg)); output(Prop,Msg) when is_atom(Prop) -> From 12433c0deca18a7475215b01f226a213cbdc2b09 Mon Sep 17 00:00:00 2001 From: Paul Khusainov Date: Fri, 2 Aug 2013 13:06:58 +0400 Subject: [PATCH 4/4] Load default_tracer before backends --- src/lager_app.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lager_app.erl b/src/lager_app.erl index d169f80..0195c7d 100644 --- a/src/lager_app.erl +++ b/src/lager_app.erl @@ -62,6 +62,8 @@ start(_StartType, _StartArgs) -> throw({error, bad_config}) end, + lager_util:trace_filter(none), + Handlers = case application:get_env(lager, handlers) of undefined -> [{lager_console_backend, info}, @@ -113,8 +115,6 @@ start(_StartType, _StartArgs) -> end end, - lager_util:trace_filter(none), - {ok, Pid, SavedHandlers}.