📜 记录所有事件
Scribe 是一个灵活的 Swift 日志库,旨在使日志记录变得简单高效。它为您的应用程序内的消息和事件提供了一个集中式日志记录系统,并支持多种日志输出和插件,以扩展其功能来满足您的需求。Scribe 与 swift-log 集成用于控制台日志记录,使其成为满足您所有日志记录需求的多功能解决方案。
要创建 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 对象。有两种方法可以做到这一点
let scribe = Scribe(
label: "test.count",
plugins: [
CountPlugin.shared
]
)
scribe.register(plugin:)
将插件添加到现有的 Scribe 对象let scribe = Scribe(label: "test.count")
scribe.register(plugin: CountPlugin.shared)
Scribe 使用 swift-log 进行日志记录,因此这些函数在使用上类似。要使用 Scribe 记录消息,只需调用其中一个日志记录函数,例如 debug
scribe.debug("Test")
Scribe 支持以下日志级别
trace
debug
info
notice
warning
error
critical
根据您要记录的消息的重要性和紧迫性,选择适当的日志级别。