Master tracking issue for BP-69: Adopt slog for structured logging.
Summary
Adopt the slog library for structured logging across the BookKeeper codebase, replacing the ad-hoc SLF4J {}-style format strings. Retire the existing, barely-used bookkeeper-slogger module. Add an API for callers (Pulsar, applications, tools) to attach their own logging context attributes to a ledger Handle so cross-boundary log lines stay structured and correlated.
This mirrors the decision made upstream in Apache Pulsar PIP-467, whose migration is complete.
Proposal
See the full proposal at site3/website/src/pages/bps/BP-69-slog-structured-logging.md (PR forthcoming).
Implementation
Migration will be done in phases, one module per commit, each independently mergeable:
Sub-PRs will be linked here as they are opened.
Master tracking issue for BP-69: Adopt slog for structured logging.
Summary
Adopt the slog library for structured logging across the BookKeeper codebase, replacing the ad-hoc SLF4J
{}-style format strings. Retire the existing, barely-usedbookkeeper-sloggermodule. Add an API for callers (Pulsar, applications, tools) to attach their own logging context attributes to a ledgerHandleso cross-boundary log lines stay structured and correlated.This mirrors the decision made upstream in Apache Pulsar PIP-467, whose migration is complete.
Proposal
See the full proposal at
site3/website/src/pages/bps/BP-69-slog-structured-logging.md(PR forthcoming).Implementation
Migration will be done in phases, one module per commit, each independently mergeable:
bookkeeper-commonstats,bookkeeper-common-allocatorbookkeeper-server(core, largest phase)bookkeeper-http,toolsstream/distributedlogmetadata-drivers,benchmark, peripheral testsbookkeeper-slogger, remove@Slf4jusagewithLoggerContext(Map<String, Object>)onCreateBuilder,OpenBuilder,DeleteBuilderSub-PRs will be linked here as they are opened.