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]

Reply via email to