Logdog 🐶 是一个软件包,提供用于美观显示 OS 日志的视图,以及用于显示 OS 日志的轻量级包装器。
将本软件包添加到 Package.swift,并将其包含在目标的依赖项中。
let package = Package(
dependencies: [
.package(url: "https://github.com/uhooi/Logdog", from: "0.3.0"),
],
targets: [
.target(
name: "<your-target-name>",
dependencies: [
.product(name: "LogdogUI", package: "Logdog"), // ビューを使用する場合(オススメ)
.product(name: "Logdog", package: "Logdog"), // ビューを自作する場合
]),
]
)
本软件包可以在 Xcode 上添加。
详情请参阅文档。
本软件包的存在是为了显示 OS 日志。
因此,首先输出 OS 日志。
准备像下面这样的包装器会很方便。
import Foundation
import os
enum Logger {
nonisolated(unsafe) static let yourCategoryName: os.Logger = .init(
subsystem: Bundle.main.bundleIdentifier!,
category: "<your-category-name>"
)
}
之后只需从 Logger.yourCategoryName 调用 os.Logger 的方法即可。
let message = "Foo"
Logger.yourCategoryName.debug("\(message, privacy: .public)")
详情请参阅以下文章。
os.Logger 的说明和使用方法 (Swift) #Swift - Qiita
从这里开始使用本软件包。
使用 LogdogUI 库,可以轻松添加显示 OS 日志的视图。
import SwiftUI
import LogdogUI
struct ContentView: View {
var body: some View {
NavigationStack {
LogdogScreen()
.navigationTitle(String(localized: "Log"))
.navigationBarTitleDisplayMode(.inline)
}
}
}
只需调用 LogdogScreen() 即可。非常简单。
使用 Logdog 库,可以轻松获取格式化后的 OS 日志数据。
import Logdog
struct LogdogScreen: View {
@State private var entries: [LogEntry] = []
private let logStore = LogStore()
var body: some View {
List {
ForEach(entries) { entry in
Text(entry.message)
}
}
.task {
entries = try? await logStore.entries()
}
}
}
因为 Logdog 库只是为了 LogdogUI 库而制作并公开的,因此仅提供最基本的功能。
期待您的贡献