uhooi/logdog
OSログをいい感じに表示するビューと、OSログを表示するための薄いラッパーを提供するパッケージです。
目次
システム要件
- iOS: 16.0+
インストール
Swift Package Manager
Package
本パッケージを 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
本パッケージはXcode上で追加できます。
詳細は ドキュメント をご参照ください。
使い方
OSログの出力
本パッケージは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
OSログの表示
ここから本パッケージを使います。
ビューを使用する場合(オススメ)
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()
}
}
}LogdogUI ライブラリのために作ったものを公開しているだけなので、必要最低限の機能しか提供していません。
貢献
貢献をお待ちしています :relaxed:
スタッツ
[[スタッツ]](https://github.com/uhooi/Logdog)
Package Metadata
Repository: uhooi/logdog
Default branch: main
README: README.md