Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uhooi/logdog
OSログをいい感じに表示するビューと、OSログを表示するための薄いラッパーを提供するパッケージです。
https://github.com/uhooi/logdog
ios swift swiftui
Last synced: about 2 months ago
JSON representation
OSログをいい感じに表示するビューと、OSログを表示するための薄いラッパーを提供するパッケージです。
- Host: GitHub
- URL: https://github.com/uhooi/logdog
- Owner: uhooi
- License: mit
- Created: 2024-04-12T13:33:08.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T15:22:45.000Z (8 months ago)
- Last Synced: 2024-09-25T13:16:10.682Z (3 months ago)
- Topics: ios, swift, swiftui
- Language: Swift
- Homepage:
- Size: 80.1 KB
- Stars: 11
- Watchers: 2
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Logdog :dog:
[![CI](https://github.com/uhooi/Logdog/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/uhooi/Logdog/actions/workflows/ci.yml)
[![CI examples](https://github.com/uhooi/Logdog/actions/workflows/ci-examples.yml/badge.svg?branch=main)](https://github.com/uhooi/Logdog/actions/workflows/ci-examples.yml)
[![Release](https://img.shields.io/github/v/release/uhooi/Logdog)](https://github.com/uhooi/Logdog/releases/latest)
[![Swift Compatibility](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fuhooi%2FLogdog%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/uhooi/Logdog)
[![Platform Compatibility](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fuhooi%2FLogdog%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/uhooi/Logdog)
[![License](https://img.shields.io/github/license/uhooi/Logdog)](https://github.com/uhooi/Logdog/blob/main/LICENSE)
[![X](https://img.shields.io/twitter/follow/the_uhooi?style=social)](https://twitter.com/the_uhooi)OSログをいい感じに表示するビューと、OSログを表示するための薄いラッパーを提供するパッケージです。
## 目次
- [システム要件](#システム要件)
- [インストール](#インストール)
- [使い方](#使い方)
- [貢献](#貢献)
- [スタッツ](#スタッツ)## システム要件
- iOS: 16.0+
## インストール
### Swift Package Manager
#### Package
本パッケージを `Package.swift` に追加し、ターゲットの依存関係に含めます。
```swift
let package = Package(
dependencies: [
.package(url: "https://github.com/uhooi/Logdog", from: "0.3.0"),
],
targets: [
.target(
name: "",
dependencies: [
.product(name: "LogdogUI", package: "Logdog"), // ビューを使用する場合(オススメ)
.product(name: "Logdog", package: "Logdog"), // ビューを自作する場合
]),
]
)
```#### Xcode
本パッケージはXcode上で追加できます。
詳細は [ドキュメント](https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app) をご参照ください。
## 使い方
### OSログの出力
本パッケージはOSログを表示するために存在します。
そのため、まずはOSログを出力します。以下のようなラッパーを用意すると便利です。
```swift
import Foundation
import osenum Logger {
nonisolated(unsafe) static let yourCategoryName: os.Logger = .init(
subsystem: Bundle.main.bundleIdentifier!,
category: ""
)
}
```あとは `Logger.yourCategoryName` から `os.Logger` のメソッドを呼び出すだけです。
```swift
let message = "Foo"
Logger.yourCategoryName.debug("\(message, privacy: .public)")
```詳細は以下の記事をご参照ください。
[os.Loggerの説明と使い方(Swift) #Swift - Qiita](https://qiita.com/uhooi/items/2e4f6dc4600ca0d7c07b)### OSログの表示
ここから本パッケージを使います。
#### ビューを使用する場合(オススメ)
`LogdogUI` ライブラリを使うと、OSログを表示するビューを簡単に追加できます。
```swift
import SwiftUI
import LogdogUIstruct ContentView: View {
var body: some View {
NavigationStack {
LogdogScreen()
.navigationTitle(String(localized: "Log"))
.navigationBarTitleDisplayMode(.inline)
}
}
}
````LogdogScreen()` を呼び出すだけです。超簡単です。
#### ビューを自作する場合
`Logdog` ライブラリを使うと、OSログを整形したデータを簡単に取得できます。
```swift
import Logdogstruct 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/issues/new)
- [新しいプルリクエスト](https://github.com/uhooi/Logdog/compare)## スタッツ
[![スタッツ](https://repobeats.axiom.co/api/embed/402bd4c24a179fe7d29be33db37daa412656d080.svg "Repobeats analytics image")](https://github.com/uhooi/Logdog)