Files
2026-07-17 18:06:30 +08:00

1.1 KiB

配置驱动构建

当 level、目标名、输出方式或队列策略应由部署配置决定时,使用这一流程。

解析、构建、记录

let raw = "{\"min_level\":\"info\",\"target\":\"service\",\"sink\":{\"kind\":\"text_console\",\"text_formatter\":{\"show_timestamp\":false,\"separator\":\" | \"}},\"queue\":{\"max_pending\":64,\"overflow\":\"DropOldest\"}}"

let config = @log.parse_logger_config_text(raw) catch {
  err => {
    ignore(err)
    println("invalid logger configuration")
    return
  }
}

let logger = @log.build_logger(config)
logger.info("configured logger ready")
ignore(logger.flush())

解析先验证数据,再构造运行时 Logger。真实部署应将原始配置放在应用代码之外,并在配置进入进程的边界处理错误。

运行仓库示例

moon run examples/config_build

下一步