Преглед на файлове

Remove code which supports R15

pull/432/head
Paul Oliver преди 7 години
родител
ревизия
6584c7afc9
No known key found for this signature in database GPG ключ ID: 9250069E8AF6BF4F
променени са 7 файла, в които са добавени 56 реда и са изтрити 101 реда
  1. +8
    -8
      src/error_logger_lager_h.erl
  2. +1
    -10
      src/lager.erl
  3. +13
    -24
      src/lager_app.erl
  4. +1
    -1
      src/lager_stdlib.erl
  5. +1
    -1
      src/lager_sup.erl
  6. +0
    -7
      test/lager_app_tests.erl
  7. +32
    -50
      test/lager_test_backend.erl

+ 8
- 8
src/error_logger_lager_h.erl Целия файл

@ -72,10 +72,10 @@ set_high_water(N) ->
-spec init(any()) -> {ok, #state{}}.
init([HighWaterMark, GlStrategy]) ->
Flush = lager_app:get_env(lager, error_logger_flush_queue, false),
FlushThr = lager_app:get_env(lager, error_logger_flush_threshold, 0),
Flush = application:get_env(lager, error_logger_flush_queue, false),
FlushThr = application:get_env(lager, error_logger_flush_threshold, 0),
Shaper = #lager_shaper{hwm=HighWaterMark, flush_queue = Flush, flush_threshold = FlushThr, filter=shaper_fun(), id=?MODULE},
Raw = lager_app:get_env(lager, error_logger_format_raw, false),
Raw = application:get_env(lager, error_logger_format_raw, false),
Sink = configured_sink(),
{ok, #state{sink=Sink, shaper=Shaper, groupleader_strategy=GlStrategy, raw=Raw}}.
@ -86,7 +86,7 @@ handle_call(_Request, State) ->
{ok, unknown_call, State}.
shaper_fun() ->
case {lager_app:get_env(lager, suppress_supervisor_start_stop, false), lager_app:get_env(lager, suppress_application_start_stop, false)} of
case {application:get_env(lager, suppress_supervisor_start_stop, false), application:get_env(lager, suppress_application_start_stop, false)} of
{false, false} ->
fun(_) -> false end;
{true, true} ->
@ -138,7 +138,7 @@ terminate(_Reason, _State) ->
code_change(_OldVsn, {state, Shaper, GLStrategy}, _Extra) ->
Raw = lager_app:get_env(lager, error_logger_format_raw, false),
Raw = application:get_env(lager, error_logger_format_raw, false),
{ok, #state{
sink=configured_sink(),
shaper=Shaper,
@ -146,7 +146,7 @@ code_change(_OldVsn, {state, Shaper, GLStrategy}, _Extra) ->
raw=Raw
}};
code_change(_OldVsn, {state, Sink, Shaper, GLS}, _Extra) ->
Raw = lager_app:get_env(lager, error_logger_format_raw, false),
Raw = application:get_env(lager, error_logger_format_raw, false),
{ok, #state{sink=Sink, shaper=Shaper, groupleader_strategy=GLS, raw=Raw}};
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
@ -154,7 +154,7 @@ code_change(_OldVsn, State, _Extra) ->
%% internal functions
configured_sink() ->
case proplists:get_value(?ERROR_LOGGER_SINK, lager_app:get_env(lager, extra_sinks, [])) of
case proplists:get_value(?ERROR_LOGGER_SINK, application:get_env(lager, extra_sinks, [])) of
undefined -> ?DEFAULT_SINK;
_ -> ?ERROR_LOGGER_SINK
end.
@ -324,7 +324,7 @@ log_event(Event, #state{sink=Sink} = State) ->
[App, Node])
end;
[{started, Started}, {supervisor, Name}] ->
case lager_app:get_env(lager, suppress_supervisor_start_stop, false) of
case application:get_env(lager, suppress_supervisor_start_stop, false) of
true ->
ok;
_ ->

+ 1
- 10
src/lager.erl Целия файл

@ -624,18 +624,9 @@ pr_stacktrace(Stacktrace, {Class, Reason}) ->
io_lib:format("~s:~p", [Class, Reason]) ++ pr_stacktrace_(Stacktrace))
end.
%% R15 compatibility only
filtermap(Fun, List1) ->
lists:foldr(fun(Elem, Acc) ->
case Fun(Elem) of
false -> Acc;
{true,Value} -> [Value|Acc]
end
end, [], List1).
rotate_sink(Sink) ->
Handlers = lager_config:global_get(handlers),
RotateHandlers = filtermap(
RotateHandlers = lists:filtermap(
fun({Handler,_,S}) when S == Sink -> {true, {Handler, Sink}};
(_) -> false
end,

+ 13
- 24
src/lager_app.erl Целия файл

@ -33,8 +33,8 @@
stop/1,
boot/1]).
%% The `application:get_env/3` compatibility wrapper is useful
%% for other modules
%% The `application:get_env/3` compatibility wrapper was useful
%% for other modules in r15 and before
-export([get_env/3]).
-define(FILENAMES, '__lager_file_backend_filenames').
@ -200,20 +200,9 @@ 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).
-spec get_env_default('undefined' | {'ok', term()}, term()) -> term().
get_env_default(undefined, Default) ->
Default;
get_env_default({ok, Value}, _Default) ->
Value.
application:get_env(Application, Key, Default).
start(_StartType, _StartArgs) ->
{ok, Pid} = lager_sup:start_link(),
@ -226,21 +215,21 @@ start(_StartType, _StartArgs) ->
boot() ->
%% Handle the default sink.
determine_async_behavior(?DEFAULT_SINK,
get_env(lager, async_threshold),
get_env(lager, async_threshold_window)),
application:get_env(lager, async_threshold, undefined),
application:get_env(lager, async_threshold_window, undefined)),
_ = maybe_install_sink_killer(?DEFAULT_SINK, get_env(lager, killer_hwm),
get_env(lager, killer_reinstall_after)),
_ = maybe_install_sink_killer(?DEFAULT_SINK, application:get_env(lager, killer_hwm, undefined),
application:get_env(lager, killer_reinstall_after, undefined)),
start_handlers(?DEFAULT_SINK,
get_env(lager, handlers, ?DEFAULT_HANDLER_CONF)),
application:get_env(lager, handlers, ?DEFAULT_HANDLER_CONF)),
lager:update_loglevel_config(?DEFAULT_SINK),
SavedHandlers = start_error_logger_handler(
get_env(lager, error_logger_redirect, true),
interpret_hwm(get_env(lager, error_logger_hwm, 0)),
get_env(lager, error_logger_whitelist, [])
application:get_env(lager, error_logger_redirect, true),
interpret_hwm(application:get_env(lager, error_logger_hwm, 0)),
application:get_env(lager, error_logger_whitelist, [])
),
SavedHandlers.
@ -250,11 +239,11 @@ boot('__traces') ->
ok = add_configured_traces();
boot('__all_extra') ->
configure_extra_sinks(get_env(lager, extra_sinks, []));
configure_extra_sinks(application:get_env(lager, extra_sinks, []));
boot(?DEFAULT_SINK) -> boot();
boot(Sink) ->
AllSinksDef = get_env(lager, extra_sinks, []),
AllSinksDef = application:get_env(lager, extra_sinks, []),
boot_sink(Sink, lists:keyfind(Sink, 1, AllSinksDef)).
boot_sink(Sink, {Sink, Def}) ->

+ 1
- 1
src/lager_stdlib.erl Целия файл

@ -83,7 +83,7 @@ maybe_utc(Time) ->
Val;
undefined ->
%% Backwards compatible:
lager_app:get_env(stdlib, utc_log, false)
application:get_env(stdlib, utc_log, false)
end,
if
UTC =:= true ->

+ 1
- 1
src/lager_sup.erl Целия файл

@ -45,7 +45,7 @@ init([]) ->
{lager_handler_watcher_sup, {lager_handler_watcher_sup, start_link, []},
permanent, 5000, supervisor, [lager_handler_watcher_sup]}],
CrashLog = decide_crash_log(lager_app:get_env(lager, crash_log, false)),
CrashLog = decide_crash_log(application:get_env(lager, crash_log, false)),
{ok, {{one_for_one, 10, 60},
Children ++ CrashLog

+ 0
- 7
test/lager_app_tests.erl Целия файл

@ -5,18 +5,11 @@
-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.

+ 32
- 50
test/lager_test_backend.erl Целия файл

@ -146,19 +146,6 @@ print_state(Sink) ->
print_bad_state(Sink) ->
gen_event:call(Sink, ?MODULE, print_bad_state).
has_line_numbers() ->
%% are we R15 or greater
% this gets called a LOT - cache the answer
case erlang:get({?MODULE, has_line_numbers}) of
undefined ->
R = lager_util:otp_version() >= 15,
erlang:put({?MODULE, has_line_numbers}, R),
R;
Bool ->
Bool
end.
not_running_test() ->
?assertEqual({error, lager_not_running}, lager:log(info, self(), "not running")).
@ -901,45 +888,40 @@ crash(Type) ->
ok.
test_body(Expected, Actual) ->
case has_line_numbers() of
ExLen = length(Expected),
{Body, Rest} = case length(Actual) > ExLen of
true ->
ExLen = length(Expected),
{Body, Rest} = case length(Actual) > ExLen of
true ->
{string:substr(Actual, 1, ExLen),
string:substr(Actual, (ExLen + 1))};
_ ->
{Actual, []}
end,
?assertEqual(Expected, Body),
% OTP-17 (and maybe later releases) may tack on additional info
% about the failure, so if Actual starts with Expected (already
% confirmed by having gotten past assertEqual above) and ends
% with " line NNN" we can ignore what's in-between. By extension,
% since there may not be line information appended at all, any
% text we DO find is reportable, but not a test failure.
case Rest of
[] ->
ok;
_ ->
% isolate the extra data and report it if it's not just
% a line number indicator
case re:run(Rest, "^.*( line \\d+)$", [{capture, [1]}]) of
nomatch ->
?debugFmt(
"Trailing data \"~s\" following \"~s\"",
[Rest, Expected]);
{match, [{0, _}]} ->
% the whole sting is " line NNN"
ok;
{match, [{Off, _}]} ->
?debugFmt(
"Trailing data \"~s\" following \"~s\"",
[string:substr(Rest, 1, Off), Expected])
end
end;
{string:substr(Actual, 1, ExLen),
string:substr(Actual, (ExLen + 1))};
_ ->
?assertEqual(Expected, Actual)
{Actual, []}
end,
?assertEqual(Expected, Body),
% OTP-17 (and maybe later releases) may tack on additional info
% about the failure, so if Actual starts with Expected (already
% confirmed by having gotten past assertEqual above) and ends
% with " line NNN" we can ignore what's in-between. By extension,
% since there may not be line information appended at all, any
% text we DO find is reportable, but not a test failure.
case Rest of
[] ->
ok;
_ ->
% isolate the extra data and report it if it's not just
% a line number indicator
case re:run(Rest, "^.*( line \\d+)$", [{capture, [1]}]) of
nomatch ->
?debugFmt(
"Trailing data \"~s\" following \"~s\"",
[Rest, Expected]);
{match, [{0, _}]} ->
% the whole sting is " line NNN"
ok;
{match, [{Off, _}]} ->
?debugFmt(
"Trailing data \"~s\" following \"~s\"",
[string:substr(Rest, 1, Off), Expected])
end
end.
error_logger_redirect_crash_setup() ->

Зареждане…
Отказ
Запис