Implement the new event logging framework
This "includes" the work on !706 (closed)
and develops it further to make it able to be the main logging mechanism while
the “legacy-logging” (lwt-log-based) is still supported but reimplemented within
tezos-event-logging.
A few proper events are already in there (e.g. Client_baking_blocks,
Lwt_utils.worker, …), the next steps will be to replace all the
Legacy_logging.Make_semantic with structured events and removing the almost
empty *_logging modules.
This MR provides 2 event “sinks:” the legacy lwt-log channels + the
File_event_sink module (and the commands in tezos-admin-client).
Later, we'll add at least: a “forward on unix-file-desc” sink and a “keep everything in memory
for X minutes in case of error” sink.
Notes:
- Fixing the concurrency bug in
Lwt_utils_unix.create_dircould be a separate MR if you think it is urgent. - I kept backwards compatibility in
src/bin_node/node_config_file.mlso the lwt-log-sink configuration is still calledlog, let me know if we should break this. - The
Scriptablemodule comes from !773 (closed).
Edited by Seb Mondet