⬆️ 升级 Moonbit 版本和 Async 版本
BitLogger 是一个使用 MoonBit 编写的结构化日志库,目标是提供可组合、可配置、可跨端编译的日志基础设施。
bitlogger
file_sink(...)
native_files_supported()
false
bitlogger_async
examples/async_basic
async fn main
build_logger(...)
build_async_logger(...)
text_formatter(...)
color_mode
style_markup
let logger = Logger::new(console_sink(), min_level=Level::Info, target="demo") .with_timestamp() .with_context_fields([field("service", "bitlogger")]) logger.info("starting", fields=[field("port", "8080")])
异步入口示例:
let logger = async_logger(console_sink(), target="async.demo") @async.with_task_group(group => { group.spawn_bg(() => logger.run()) logger.info("started") logger.shutdown() })
bitlogger/
bitlogger_async/
moonbitlang/async
docs/api/
examples/basic/
examples/async_basic/
A Simple Logger base on MoonBit.
2026 MoonBit 国产基础软件生态开源大赛参赛作品
📖 介绍
BitLogger 是一个使用 MoonBit 编写的结构化日志库,目标是提供可组合、可配置、可跨端编译的日志基础设施。
🧭 后端兼容
bitlogger主包file_sink(...)native_files_supported()返回falsebitlogger_asyncexamples/async_basicasync fn main入口限制, 当前不提供❇️ 关键特性
build_logger(...)/build_async_logger(...)运行时组装。text_formatter(...)、template、style tag、color_mode/style_markup。bitlogger_asyncpackage,支持 queue、worker lifecycle、runtime state 和跨端兼容实现。🚀 快速开始
异步入口示例:
📂 仓库结构
bitlogger/: 主日志库 package。bitlogger_async/: 基于moonbitlang/async的异步日志层。docs/api/: 单接口粒度 API 文档。examples/basic/: 最小同步示例。examples/async_basic/: 异步 logger 示例。🔗 文档入口