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:
Martin Sumner 2024-09-06 11:18:24 +01:00 committed by GitHub
parent 5db277b82d
commit 54e3096020
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 492 additions and 410 deletions

View file

@ -81,13 +81,18 @@
]}.
%% @doc Log level
%% Can be debug, info, warn, error or critical
%% Can be debug, info, warning, error or critical
%% Set the minimum log level to be used within leveled. Leveled will log many
%% lines to allow for stats to be etracted by those using log indexers such as
%% Splunk
%% Splunk.
%% Logging will be via erlang logger, and so the destination will be defined
%% by the configured log handlers of the erlang node which starts the bookie.
%% All logs are from the leveled_log module, and so specific handling can be
%% managed using filters on the first element of the MFS metadata, or setting
%% the log level for that specific module.
{mapping, "leveled.log_level", "leveled.log_level", [
{default, info},
{datatype, atom}
{datatype, {enum, [debug, info, warning, error, critical]}}
]}.
%% @doc The approximate size (in bytes) when a Journal file should be rolled.