LogBird 是一个强大而简单的 Swift 日志库,旨在提供灵活而高效的控制台日志记录。
LogBird
方法进行静态日志记录logsPublisher
提供 Combine 支持LBLogsView
用于日志可视化您可以使用 CocoaPods 或 Swift Package Manager 将 LogBird 添加到您的项目中。
将以下行添加到您的 Podfile
pod 'LogBird'
将以下内容添加到您的 Package.swift
文件中
dependencies: [
.package(url: "https://github.com/javiermanzo/LogBird.git")
]
LogBird 通过 LBLogLevel
枚举支持以下日志级别
.debug
: 用于调试信息。.info
: 用于信息性消息。.warning
: 用于警告。.error
: 用于错误消息。.critical
: 用于严重问题。使用 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 访问日志以实时响应新日志
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)
使用 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 文件。