From 5c4e8ba889cd1ab76bc6879a1dd2039d5afa2f41 Mon Sep 17 00:00:00 2001 From: Nanaloveyuki Date: Sun, 14 Jun 2026 04:44:18 +0800 Subject: [PATCH] :white_check_mark: cover async text builder sink contract --- src-async/BitLoggerAsync_test.mbt | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src-async/BitLoggerAsync_test.mbt b/src-async/BitLoggerAsync_test.mbt index 9103426..a1ccd7f 100644 --- a/src-async/BitLoggerAsync_test.mbt +++ b/src-async/BitLoggerAsync_test.mbt @@ -1546,6 +1546,39 @@ test "build async text logger keeps text-console config fields" { AsyncFlushPolicy::Batch => "Batch" AsyncFlushPolicy::Shutdown => "Shutdown" }, content="Never") + let rendered = (logger.sink.formatter)( + @bitlogger.Record::new(@bitlogger.Level::Error, "boom", target="async.text.direct"), + ) + inspect(rendered, content="[ERROR] | [async.text.direct] | boom") +} + +test "build async text logger ignores sink kind and still uses text formatter" { + let logger = build_async_text_logger( + AsyncLoggerBuildConfig::new( + logger=@bitlogger.LoggerConfig::new( + min_level=@bitlogger.Level::Warn, + target="async.text.kind", + sink=@bitlogger.SinkConfig::new( + kind=@bitlogger.SinkKind::File, + path="ignored.log", + text_formatter=@bitlogger.TextFormatterConfig::new( + show_timestamp=false, + separator=" | ", + template="TEXT:{target}:{message}", + ), + ), + ), + async_config=AsyncLoggerConfig::new(max_pending=2), + ), + ) + + inspect(logger.is_enabled(@bitlogger.Level::Error), content="true") + inspect(logger.is_enabled(@bitlogger.Level::Info), content="false") + inspect(logger.target, content="async.text.kind") + let rendered = (logger.sink.formatter)( + @bitlogger.Record::new(@bitlogger.Level::Error, "boom", target="async.text.kind"), + ) + inspect(rendered, content="TEXT:async.text.kind:boom") } async test "build async text logger keeps direct helper surface" {