kamcheungting-db opened a new pull request, #737: URL: https://github.com/apache/iceberg-cpp/pull/737
## What Final part of the Iceberg logger stack (stacked on #726). Adds the property-driven `Loggers` registry, mirroring `MetricsReporters`. - `Loggers::Register(type, factory)` registers a named backend; `Loggers::Load(properties)` builds one from a property map, selecting the type from the `"logger-impl"` key. - Built-in factories: `"noop"`, `"cerr"`, and (only when built with `ICEBERG_SPDLOG`) `"spdlog"`. With no `logger-impl` property set, the default is `spdlog` when compiled in, otherwise `cerr` — logs-by-default, an intentional divergence from the metrics registry's noop default. - `Loggers::LoadAndSetDefault(properties)` loads a logger and installs it as the process default. This completes the system end to end: levels → `Logger` interface + default logger → CerrLogger/SpdLogger backends → macros → configuration-driven selection. ## Testing Compiled and run with `clang++ -std=c++23 -stdlib=libc++` against the repo's pinned gtest (and spdlog v1.15.3 for the ON path): full suite passes on both `ICEBERG_SPDLOG=OFF` and `ON`. Registry tests cover load default/noop/cerr, unknown-type error, custom Register, and LoadAndSetDefault. This pull request and its description were written by Isaac. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
