Quellcode durchsuchen

Merge pull request #456 from erlang-lager/adt/otp-21

OTP 21 support
pull/459/head
Andrew Thompson vor 7 Jahren
committed von GitHub
Ursprung
Commit
f92d43021f
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden GPG-Schlüssel-ID: 4AEE18F83AFDEB23
3 geänderte Dateien mit 19 neuen und 12 gelöschten Zeilen
  1. +1
    -0
      .travis.yml
  2. +1
    -1
      rebar.config
  3. +17
    -11
      src/lager_app.erl

+ 1
- 0
.travis.yml Datei anzeigen

@ -1,6 +1,7 @@
sudo: false
language: erlang
otp_release:
- 21.0-rc2
- 20.0
- 19.3
- 18.3

+ 1
- 1
rebar.config Datei anzeigen

@ -21,7 +21,7 @@
{erl_opts, [
{lager_extra_sinks, ['__lager_test_sink']},
{platform_define, "(19|20)", test_statem},
{platform_define, "(19|20|21)", test_statem},
{platform_define, "(18)", 'FUNCTION_NAME', unavailable},
{platform_define, "(18)", 'FUNCTION_ARITY', 0},
debug_info,

+ 17
- 11
src/lager_app.erl Datei anzeigen

@ -158,24 +158,30 @@ start_error_logger_handler(true, HWM, WhiteList) ->
throw({error, bad_config})
end,
case whereis(error_logger) of
undefined ->
%% On OTP 21 and above, error_logger is deprecated in favor of 'logger'
%% As a band-aid, boot up error_logger anyway and install it as a logger handler
%% we can't use error_logger:add_report_handler because we want supervision of the handler
%% so we have to manually add the logger handler
%%
%% Longer term we should be installing a logger handler instead, but this will bridge the gap
%% for now.
error_logger:start(),
_ = logger:add_handler(error_logger,error_logger,#{level=>info,filter_default=>log});
_ ->
ok
end,
_ = case supervisor:start_child(lager_handler_watcher_sup, [error_logger, error_logger_lager_h, [HWM, GlStrategy]]) of
%% capture which handlers we removed from error_logger so we can restore them when lager stops
OldHandlers = case supervisor:start_child(lager_handler_watcher_sup, [error_logger, error_logger_lager_h, [HWM, GlStrategy]]) of
{ok, _} ->
[begin error_logger:delete_report_handler(X), X end ||
X <- gen_event:which_handlers(error_logger) -- [error_logger_lager_h | WhiteList]];
{error, _} ->
[]
end,
Handlers = case application:get_env(lager, handlers) of
undefined ->
[{lager_console_backend, [{level, info}]},
{lager_file_backend, [{file, "log/error.log"}, {level, error}, {size, 10485760}, {date, "$D0"}, {count, 5}]},
{lager_file_backend, [{file, "log/console.log"}, {level, info}, {size, 10485760}, {date, "$D0"}, {count, 5}]}];
{ok, Val} ->
Val
end,
Handlers.
OldHandlers.
configure_sink(Sink, SinkDef) ->
lager_config:new_sink(Sink),

Laden…
Abbrechen
Speichern