LoggingSlack

swift platforms version twitter
build jazzy codecov

欢迎使用 LoggingSlack – 一个 SwiftLog 的日志后端,用于将关键日志消息发送到 Slack。

用法

设置 Incoming Webhooks

LoggingSlack 使用 Incoming Webhooks 将日志消息发送到 Slack 频道。

一旦你设置了 Incoming Webhooks,你应该会得到一个 webhook URL,你可以使用它来配置 LoggingSlack。

引导 SwiftLog

LoggingSlack 旨在用作辅助日志后端,用于将关键日志消息直接发送到 Slack。

你可以使用 SwiftLog 的 MultiplexLogHandler 来设置 LoggingSlack 和另一个日志后端。

import Logging
import LoggingSlack

let webhookURL = URL(string: "https://hooks.slack.com/services/T1MGQL1L8/RM2LE5QLF/YH036NhldqitdR1lVd5NLS6z")!

LoggingSystem.bootstrap { label in
    MultiplexLogHandler([
        // Setup SlackLogHandler with a webhook URL 
        SlackLogHandler(label: label, webhookURL: webhookURL),
        // Setup the standard logging backend to enable console logging
        StreamLogHandler.standardOutput(label: label)
    ])
}

使用 Logger

现在你可以像往常一样使用 SwiftLog,关键日志消息将直接发送到 Slack。

import Logging

let logger = Logger(label: "com.example.ExampleApp.main")

logger.critical("Something went wrong!")

Logger 输出

由于两个日志后端都已设置,logger 将输出一条 Slack 消息和一条控制台消息。

2020-02-15T19:30:00-0800 critical: Something went wrong!

日志级别阈值

默认情况下,只有 critical 日志级别 消息会被发送到 Slack。

你可以通过更改 SlackLogHandler 上的 globalLogLevelThreshold 静态属性来调整日志级别阈值。

例如,这将配置 LoggingSlack 将所有 error 日志级别及以上的消息发送到 Slack。

SlackLogHandler.globalLogLevelThreshold = .error

API 文档

访问 在线 API 参考 以获取公共 API 的完整文档。

安装

LoggingSlack 需要 Xcode 11 或带有 Swift Package Manager 的 Swift 5.1 工具链。

Swift Package Manager

将 LoggingSlack 包作为依赖项添加到你的 Package.swift 文件中。

.package(url: "https://github.com/wlisac/swift-log-slack.git", from: "0.1.0")

将 LoggingSlack 添加到你的目标依赖项中。

.target(name: "Example", dependencies: ["LoggingSlack"])