Scribe

📜 记录所有事件

Scribe 是一个灵活的 Swift 日志库,旨在使日志记录变得简单高效。它为您的应用程序内的消息和事件提供了一个集中式日志记录系统,并支持多种日志输出和插件,以扩展其功能来满足您的需求。Scribe 与 swift-log 集成用于控制台日志记录,使其成为满足您所有日志记录需求的多功能解决方案。

用法

创建 ScribePlugin

要创建 Scribe 插件,您需要创建一个符合 ScribePlugin 协议的结构体或类,并实现其要求。这是一个简单的插件示例,它为每个日志递增计数

class CountPlugin: ScribePlugin {
    static let shared = CountPlugin()

    var count: Int = 0

    private init() {}

    func handle(value: Scribe.PluginPayload) async throws {
        count += 1
    }
}

向 Scribe 注册插件

一旦您创建了 Scribe 插件,您只需要将其注册到您的 Scribe 对象。有两种方法可以做到这一点

  1. 在创建 Scribe 对象时,将插件传递给 plugins 参数
let scribe = Scribe(
    label: "test.count",
    plugins: [
        CountPlugin.shared
    ]
)
  1. 调用 scribe.register(plugin:) 将插件添加到现有的 Scribe 对象
let scribe = Scribe(label: "test.count")

scribe.register(plugin: CountPlugin.shared)

向 Scribe 记录日志

Scribe 使用 swift-log 进行日志记录,因此这些函数在使用上类似。要使用 Scribe 记录消息,只需调用其中一个日志记录函数,例如 debug

scribe.debug("Test")

日志级别

Scribe 支持以下日志级别

根据您要记录的消息的重要性和紧迫性,选择适当的日志级别。