Files
BitLogger/docs/zh/examples/file-rotation.md
T
2026-07-17 18:06:30 +08:00

1.2 KiB

文件输出与轮转

文件输出面向需要本地持久化的 native 应用。跨端代码应先判断能力,并保留控制台回退方案。

检查能力

if !@log.native_files_supported() {
  println("file logging is unavailable on this target")
  return
}

构建可轮转文件 Logger

let config = @log.with_file_rotation(
  @log.file(
    "service.log",
    min_level=@log.Level::Info,
    target="service.file",
    auto_flush=true,
  ) catch {
    err => {
      ignore(err)
      return
    }
  },
  1024 * 1024,
  max_backups=3,
)

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

轮转阈值是活动文件的字节数,max_backups=3 保留备份链。应用有序退出时必须关闭文件 Logger。

运行仓库示例

moon run examples/file_rotation --target native

下一步