浏览代码

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

OTP 21 support
pull/459/head
Andrew Thompson 7 年前
提交者 GitHub
父节点
当前提交
f92d43021f
找不到此签名对应的密钥 GPG 密钥 ID: 4AEE18F83AFDEB23
共有 3 个文件被更改,包括 19 次插入12 次删除
  1. +1
    -0
      .travis.yml
  2. +1
    -1
      rebar.config
  3. +17
    -11
      src/lager_app.erl

+ 1
- 0
.travis.yml 查看文件

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

+ 1
- 1
rebar.config 查看文件

@ -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 查看文件

@ -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),

正在加载...
取消
保存