From 28d679bad9fda3f180ab0f7d34353e1fa9294d68 Mon Sep 17 00:00:00 2001 From: TheCharlatan Date: Wed, 29 May 2024 16:13:45 +0200 Subject: [PATCH] kernel: Add logging to kernel library C header Exposing logging in the kernel library allows users to follow operations. Users of the C header can use `kernel_logging_connection_create(...)` to pass a callback function to Bitcoin Core's internal logger. Additionally the level and category can be globally configured. By default, the logger buffers messages until `kernel_loggin_connection_create(...)` is called. If the user does not want any logging messages, it is recommended that `kernel_disable_logging()` is called, which permanently disables the logging and any buffering of messages. Co-authored-by: stringintech --- src/kernel/bitcoinkernel.cpp | 160 +++++++++++++++++++++++++++++ src/kernel/bitcoinkernel.h | 147 ++++++++++++++++++++++++++ src/kernel/bitcoinkernel_wrapper.h | 83 +++++++++++++++ src/logging.cpp | 1 + src/logging.h | 12 +++ src/test/kernel/test_kernel.cpp | 37 +++++++ 6 files changed, 440 insertions(+) diff --git a/src/kernel/bitcoinkernel.cpp b/src/kernel/bitcoinkernel.cpp index 50608dc37c0..4aa2c176d88 100644 --- a/src/kernel/bitcoinkernel.cpp +++ b/src/kernel/bitcoinkernel.cpp @@ -8,17 +8,22 @@ #include #include +#include +#include #include #include