UnifiedLogHandler

Swift 5.1 Platforms Swift Package Manager Twitter: @gonzalezreal

UnifiedLogHandler 是一个 SwiftLog 后端,它使用 Apple 的 Unified Logging System(统一日志系统)。

您可以按照以下方式指示 SwiftLog 使用 UnifiedLogHandler 后端:

import Logging
import UnifiedLogHandler

LoggingSystem.bootstrap(UnifiedLogHandler.init)

UnifiedLogHandler 为您的应用程序或其库中的每个 Logger 创建一个 OSLog。它使用应用程序的 bundle identifier(捆绑包标识符)和 Logger 的 label(标签)分别作为 OSLog 的 subsystem(子系统)和 category(类别)。

例如:

let logger = Logger(label: "APIClient")
logger.info("Something happened")

打印以下输出:

2019-12-15 18:22:10.357062+0100 MyApp[63417:16193919] [APIClient] Something happened

您也可以在记录日志时使用元数据。例如:

logger.info("Something happened", metadata: ["foo": ["bar": "baz"]])

打印以下输出:

2019-12-15 18:34:01.424326+0100 MyApp[63587:16235713] [APIClient] Something happened
├─ Metadata
│ foo: ["bar": "baz"]

安装

使用 Swift Package Manager(Swift 包管理器)

将 UnifiedLogHandler 作为依赖项添加到您的 Package.swift 文件中。 更多信息,请参阅 Swift Package Manager 文档

.package(url: "https://github.com/gonzalezreal/UnifiedLogHandler", from: "1.0.0")

帮助 & 反馈