Release CI Swift Platforms Swift Package Manager(https://swiftpackageindex.cn/javiermanzo/LogBird)

LogBird 是一个强大而简单的 Swift 日志库,旨在提供灵活而高效的控制台日志记录。

目录

特性

要求

安装

您可以使用 CocoaPodsSwift Package Manager 将 LogBird 添加到您的项目中。

CocoaPods

将以下行添加到您的 Podfile

pod 'LogBird'

Swift Package Manager

将以下内容添加到您的 Package.swift 文件中

dependencies: [
    .package(url: "https://github.com/javiermanzo/LogBird.git")
]

用法

日志级别

LogBird 通过 LBLogLevel 枚举支持以下日志级别

静态日志记录

使用 LogBird 提供的静态方法进行简单日志记录

LogBird.log(message: "This is an info log")

实例日志记录

创建 LogBird 的自定义实例以获得更大的灵活性

let customLogger = LogBird(subsystem: "com.example.myapp", category: "Network")
customLogger.log(message: "This is a debug log from the Network category")

日志参数

log 方法支持其他参数,以提供更详细的日志。

记录带有额外消息的日志

let extraMessages: [LBExtraMessage] = [
    LBExtraMessage(title: "Title extra", message: "Message extra")
]
LogBird.log("My Log",
    extraMessages: extraMessages)

记录带有附加信息的日志

LogBird.log("Purchase",
    additionalInfo: ["userId": 12, "planId": 2],
    level: .info)

记录一个错误

let someError = NSError(
    domain: "com.myapp.error",
    code: 500,
    userInfo: [NSLocalizedDescriptionKey: "Error description"]
)

LogBird.log("Log Error",
    error: someError,
    level: .error)

Combine 支持

使用 Combine 访问日志以实时响应新日志

import Combine

var logs: [LBLog] = []
var subscribers = Set<AnyCancellable>()
let logBird = LogBird(subsystem: "com.example.myapp", category: "UI")

LogBird.logsPublisher
    .receive(on: DispatchQueue.main)
    .sink { [weak self] newLogs in
        self?.logs = newLogs
    }
    .store(in: &subscribers)

SwiftUI 视图

使用 LBLogsView 在您的应用中可视化日志。您可以选择性地提供自定义 LogBird 实例;默认情况下,它使用静态实例

import SwiftUI

struct ContentView: View {
    var body: some View {
        LBLogsView(logBird: LogBird(subsystem: "com.example.myapp", category: "UI"))
    }
}

贡献

如果您遇到任何问题,请提交 issue。 也欢迎 Pull requests

作者

LogBird 由 Javier Manzo 创建。

许可证

LogBird 在 MIT 许可证下可用。 有关更多信息,请参阅 LICENSE 文件。