✨ add bounded history sink (#1)
BitLogger 是一个使用 MoonBit 编写的结构化日志库,适合命令行工具、服务和需要统一日志输出的项目。
BitLogger 的文档按使用路径组织:先完成一个可运行的日志输出,再按需进入文件、配置、异步和组合能力。API 文档保留为精确参考,不需要从 API 文件名开始阅读。
从一个空项目开始:
moon new log-demo cd log-demo moon add Nanaloveyuki/BitLogger@0.8.0
在应用 package 的 moon.pkg 中导入库:
moon.pkg
import { "Nanaloveyuki/BitLogger/src" @log, }
然后在 main.mbt 中创建控制台 logger:
main.mbt
fn main { let logger = @log.build_logger( @log.console(min_level=@log.Level::Info, target="app"), ) logger.info("server started", fields=[ @log.field("port", "8080"), @log.field("environment", "development"), ]) }
运行 moon run 后,记录会携带 level、target、message 和 fields。下一步按实际需求选择:
moon run
BitLogger
native
wasm
js
wasm-gc
bitlogger_async
llvm
native_files_supported()
src-async
examples/async_basic
build_logger(...)
build_async_logger(...)
trace_id
span_id
trace_flags
trace_state
仓库内的 examples/ 目录与 Examples 文档一一对应;文档解释选择、前提、运行命令和后续扩展,源码保持为可执行参考。
examples/
A Simple Logger base on MoonBit.
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
BitLogger
BitLogger 是一个使用 MoonBit 编写的结构化日志库,适合命令行工具、服务和需要统一日志输出的项目。
从第一个日志到扩展能力
BitLogger 的文档按使用路径组织:先完成一个可运行的日志输出,再按需进入文件、配置、异步和组合能力。API 文档保留为精确参考,不需要从 API 文件名开始阅读。
1. 安装
从一个空项目开始:
2. 写入第一条结构化日志
在应用 package 的
moon.pkg中导入库:然后在
main.mbt中创建控制台 logger:运行
moon run后,记录会携带 level、target、message 和 fields。下一步按实际需求选择:支持情况
BitLogger当前在 CI 中检查/验证的目标是native、wasm、js、wasm-gcbitlogger_async当前在 CI 中检查和测试native、wasm、js、wasm-gcllvm目前按实验性目标处理,当前环境未完成验证native_files_supported()src-async可用,但示例examples/async_basic目前仍按 native 入口提供主要能力
build_logger(...)、build_async_logger(...)src-asyncpackagetrace_id、span_id、trace_flags、trace_state字段绑定文档
仓库内的
examples/目录与 Examples 文档一一对应;文档解释选择、前提、运行命令和后续扩展,源码保持为可执行参考。