From 594be4aca5df4a40fdc531dd122c26146812c5b6 Mon Sep 17 00:00:00 2001 From: Nanaloveyuki Date: Sun, 14 Jun 2026 03:30:18 +0800 Subject: [PATCH] :white_check_mark: cover configured logger composition --- src/BitLogger_test.mbt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/BitLogger_test.mbt b/src/BitLogger_test.mbt index 8d36a73..79654eb 100644 --- a/src/BitLogger_test.mbt +++ b/src/BitLogger_test.mbt @@ -1481,6 +1481,36 @@ test "application logger aliases configured runtime entry" { inspect(logger.target, content="app.runtime") } +test "configured logger keeps broader logger composition surface" { + let logger : ConfiguredLogger = build_logger( + LoggerConfig::new( + min_level=Level::Warn, + target="configured.compose", + queue=Some(QueueConfig::new(2, overflow=QueueOverflowPolicy::DropNewest)), + sink=SinkConfig::new(kind=SinkKind::Console), + ), + ) + let derived = logger.with_timestamp().child("worker") + + inspect(derived.target, content="configured.compose.worker") + inspect(derived.timestamp, content="true") + inspect(derived.is_enabled(Level::Error), content="true") + inspect(derived.is_enabled(Level::Info), content="false") + inspect(match derived.sink { + RuntimeSink::QueuedConsole(_) => "QueuedConsole" + RuntimeSink::QueuedJsonConsole(_) => "QueuedJsonConsole" + RuntimeSink::QueuedTextConsole(_) => "QueuedTextConsole" + RuntimeSink::QueuedFile(_) => "QueuedFile" + _ => "Other" + }, content="QueuedConsole") + + derived.error("one") + derived.error("two") + inspect(derived.pending_count(), content="2") + inspect(derived.dropped_count(), content="0") + inspect(derived.flush(), content="2") +} + test "application logger keeps configured runtime helper surface" { let logger : ApplicationLogger = build_application_logger( LoggerConfig::new(