Pass Logger
instances to BlockManager
, CCoinsViewDB
, CDBWrapper
, Chainstate
, ChainstateManager
, CoinsViews
, and CTxMemPool
classes so libbitcoinkernel applications and tests have the option to control where log output goes instead of having all output sent to the global logger.
This PR is an alternative to #30338. It is more limited because it only changes kernel code while leaving other parts of the codebase alone. It also takes the opportunity to migrate legacy LogPrint / LogPrintf calls to the new log macros introduced in #28318.
This is based on #29256. The non-base commits are: