mirror of
https://github.com/Nanaloveyuki/BitLogger.git
synced 2026-07-24 00:42:18 +00:00
1.5 KiB
1.5 KiB
控制台与结构化字段
命令行工具和服务都可以从这一流程开始。一条记录由 level、target、message 与可选 fields 构成。
安装与导入
moon new log-demo
cd log-demo
moon add Nanaloveyuki/BitLogger@0.7.0
在应用的 moon.pkg 中加入:
import {
"Nanaloveyuki/BitLogger/src" @log,
}
构建控制台 Logger
fn main {
let logger = @log.build_logger(
@log.console(min_level=@log.Level::Info, target="service.http"),
)
logger.info("listening", fields=[
@log.field("port", "8080"),
@log.field("environment", "development"),
])
logger.warn("slow request", fields=[@log.field("path", "/health")])
}
min_level 在记录到达 sink 前过滤日志;target 用于识别子系统;fields 用于携带可查询上下文,而不是拼接到 message 中。
切换为 JSON
保持日志调用不变,只替换配置:
let logger = @log.build_logger(
@log.json_console(min_level=@log.Level::Info, target="service.http"),
)
当日志采集器按行处理结构化记录时,JSON 输出更合适。
下一步
- 需要自定义终端输出时,阅读文本格式。
- 需要由 JSON 配置构建时,阅读配置构建。
- 英文 API:
console(...)、json_console(...)、field(...)、build_logger(...)。