LoggingMatrix

这是一个 SwiftLog 的日志记录后端,用于将消息发送到您选择的 Matrix 频道。

灵感来源于 LoggingTelegram

安装

将该软件包作为依赖项添加到您的清单文件

.package(url: "https://github.com/kiliankoe/swift-log-matrix.git", from: <#current#>)

不要忘记也将其列为您的目标的依赖项

.product(name: "LoggingMatrix", package: "swift-log-matrix"),

用法

import Logging
import LoggingMatrix

LoggingSystem.bootstrap { label in
    MultiplexLogHandler([
        // Default stdout logger
        StreamLogHandler.standardOutput(label: label),
        
        MatrixLogHandler(
            label: label,
            homeserver: URL(string: "<#Homeserver URL#>")!,
            roomID: "<#Room ID#>",
            accessToken: "<#Access Token#>"
        ),
    ])
}

您需要三样东西来配置 Matrix 日志记录器以发送消息:您的 Homeserver URL(例如 https://matrix.org)、房间 ID(格式为 !xxxxxxxxxxxxxxx:homeserver.tld)和一个访问令牌。

房间 ID 可以在大多数客户端的房间设置中找到,访问令牌在账户设置中找到(在 Element 中,它位于 设置 > 帮助与关于 > 高级)。

日志级别默认为仅发送 critical 级别的日志到 Matrix,您可以根据您的用例自由设置,但建议不要发送过多的日志到您的 Homeserver,特别是如果您不是自己运行 Homeserver 的话。

现在您可以像往常一样记录消息了!

logger.debug("Some debug message")
logger.error("Oh no, an error occurred!", metadata: ["important context": "some value here"])

screenshot

⚠️请注意,消息不是使用 Matrix 的端到端加密发送的,它们是以未加密的方式发送的。