Switch to logger (#442)
* Switch to logger Use logger rather than io:format when logging. The ct tests have besn switched to log to file, testutil/init_per_suite/1 may offer useful guidance on configuring logger with leveled. As all logs are produced by the leveled_log module, the MFA metadata is uninteresting for log outputs, but can be used for explicit filter controls for leveled logs. * iolist_to_binary not unicode_binary() logger filters will be error and be removed if the format line is a binary(). Must be either a charlist() or a unicode_binary() - so iolist_to_binary() can't be used * Add metadata for filter * Update test/end_to_end/tictac_SUITE.erl Co-authored-by: Thomas Arts <thomas.arts@quviq.com> --------- Co-authored-by: Thomas Arts <thomas.arts@quviq.com>
This commit is contained in:
parent
5db277b82d
commit
54e3096020
27 changed files with 492 additions and 410 deletions
|
@ -2,6 +2,8 @@
|
|||
|
||||
-include("../include/leveled.hrl").
|
||||
|
||||
-export([init_per_suite/1, end_per_suite/1]).
|
||||
|
||||
-export([book_riakput/3,
|
||||
book_tempriakput/4,
|
||||
book_riakdelete/4,
|
||||
|
@ -91,6 +93,59 @@
|
|||
updatemetadata=dict:store(clean, true, dict:new()),
|
||||
updatevalue :: term()}).
|
||||
|
||||
|
||||
init_per_suite(Config) ->
|
||||
LogTemplate = [time, " log_level=", level, " ", msg, "\n"],
|
||||
LogFormatter =
|
||||
{
|
||||
logger_formatter,
|
||||
#{
|
||||
time_designator => $\s,
|
||||
template => LogTemplate
|
||||
}
|
||||
},
|
||||
{suite, SUITEName} = lists:keyfind(suite, 1, Config),
|
||||
FileName = "leveled_" ++ SUITEName ++ "_ct.log",
|
||||
LogConfig =
|
||||
#{
|
||||
config =>
|
||||
#{
|
||||
file => FileName,
|
||||
max_no_files => 5
|
||||
}
|
||||
},
|
||||
|
||||
LogFilter =
|
||||
fun(LogEvent, LogType) ->
|
||||
Meta = maps:get(meta, LogEvent),
|
||||
case maps:get(log_type, Meta, not_found) of
|
||||
LogType ->
|
||||
LogEvent;
|
||||
_ ->
|
||||
ignore
|
||||
end
|
||||
end,
|
||||
|
||||
ok = logger:add_handler(logfile, logger_std_h, LogConfig),
|
||||
ok = logger:set_handler_config(logfile, formatter, LogFormatter),
|
||||
ok = logger:set_handler_config(logfile, level, info),
|
||||
ok = logger:add_handler_filter(logfile, type_filter, {LogFilter, backend}),
|
||||
|
||||
ok = logger:set_handler_config(default, level, notice),
|
||||
ok = logger:set_handler_config(cth_log_redirect, level, notice),
|
||||
|
||||
ok = logger:set_primary_config(level, info),
|
||||
|
||||
Config.
|
||||
|
||||
end_per_suite(_Config) ->
|
||||
ok = logger:remove_handler(logfile),
|
||||
ok = logger:set_primary_config(level, notice),
|
||||
ok = logger:set_handler_config(default, level, all),
|
||||
ok = logger:set_handler_config(cth_log_redirect, level, all),
|
||||
|
||||
ok.
|
||||
|
||||
riak_object(Bucket, Key, Value, MetaData) ->
|
||||
Content = #r_content{metadata=dict:from_list(MetaData), value=Value},
|
||||
Obj = #r_object{bucket=Bucket,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue