From 51d93a5f1f6a11d63a895e1535e4fc10736e68c1 Mon Sep 17 00:00:00 2001 From: Albert Schimpf Date: Thu, 14 Nov 2019 16:58:16 +0100 Subject: [PATCH] Redirected slave logs to ct master logs --- test/utils/ct_redirect_handler.erl | 14 ++++++++++++++ test/utils/test_utils.erl | 14 +++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 test/utils/ct_redirect_handler.erl diff --git a/test/utils/ct_redirect_handler.erl b/test/utils/ct_redirect_handler.erl new file mode 100644 index 000000000..23f522662 --- /dev/null +++ b/test/utils/ct_redirect_handler.erl @@ -0,0 +1,14 @@ +%% redirects log messages to ct:log + +-module(ct_redirect_handler). + +%% API +-export([log/2]). + +log(LogEvent, _Config) -> + CtMaster = application:get_env(antidote, ct_master, undefined), + #{msg := Message} = LogEvent, + case Message of + {Msg, Format} -> _ = rpc:call(CtMaster, ct, log, [Msg, Format]); + _ -> _ = rpc:call(CtMaster, ct, log, ["~p", [Message]]) + end. diff --git a/test/utils/test_utils.erl b/test/utils/test_utils.erl index 699c5f384..5ebe1ded3 100644 --- a/test/utils/test_utils.erl +++ b/test/utils/test_utils.erl @@ -134,6 +134,7 @@ start_node(Name, Config) -> ok = rpc:call(Node, application, load, [antidote_stats]), ok = rpc:call(Node, application, load, [ranch]), ok = rpc:call(Node, application, load, [antidote]), + ok = rpc:call(Node, application, load, [lager]), %% get remote working dir of node {ok, NodeWorkingDir} = rpc:call(Node, file, get_cwd, []), @@ -168,6 +169,16 @@ start_node(Name, Config) -> %% legacy lager folder until lager is removed LagerRoot = filename:join([NodeWorkingDir, Node, "lager"]), ok = rpc:call(Node, application, set_env, [lager, log_root, LagerRoot]), + ok = rpc:call(Node, application, set_env, [lager, error_logger_whitelist, [error_logger]]), + ok = rpc:call(Node, application, set_env, [lager, error_logger_redirect, false]), + ok = rpc:call(Node, application, set_env, [lager, crash_log, false]), + ok = rpc:call(Node, application, set_env, [lager, handlers, [{antidote_lager_backend, [debug]}]]), + ok = rpc:call(Node, application, set_env, [lager, logger, log_config(LogRoot)]), + + %% redirect slave logs to ct_master logs + ok = rpc:call(Node, application, set_env, [antidote, ct_master, node()]), + ConfLog = #{level => debug, formatter => {logger_formatter, #{single_line => true, max_size => 2048}}, config => #{type => standard_io}}, + _ = rpc:call(Node, logger, add_handler, [antidote_redirect_ct, ct_redirect_handler, ConfLog]), %% ANTIDOTE Configuration @@ -495,7 +506,8 @@ log_config(LogDir) -> InfoConfig = #{level => info, formatter => {logger_formatter, #{single_line => true, max_size => 2048}}, - config => #{type => {file, filename:join(LogDir, "info.log")}}}, + config => #{type => {file, filename:join(LogDir, "info.log")}} + }, NoticeConfig = #{level => notice, formatter => {logger_formatter, #{single_line => true, max_size => 2048}},