refactor(log): Log.swift auf ManaAppLog (mana-swift-core v1.7.0) + appGroup-Konsolidierung

Audit V4.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-17 22:38:58 +02:00
parent 4b00c4ecdf
commit 30e371b9d7
2 changed files with 24 additions and 16 deletions

View file

@ -7,12 +7,18 @@ import ManaCore
/// `webBaseURL` (zitare.com, für WKWebView und Universal-Links)
/// und `appBaseURL` (zitare.mana.how, für eingeloggte Pfade).
enum AppConfig {
/// App-Group für Daten-Sharing zwischen App Widget ShareExt.
/// Single-Source: wird in ``manaAppConfig`` und in
/// `SnapshotModels.appGroup` (Widget-shared) gespiegelt.
static let appGroup = "group.ev.mana.zitare"
static let manaAppConfig: ManaAppConfig = DefaultManaAppConfig(
authBaseURL: URL(string: "https://auth.mana.how")!,
keychainService: "ev.mana.zitare",
// Explizit auf TeamID.BundleID, statt nil. Vermeidet Logout
// bei TestFlight-Cert-Drift (siehe mana-swift-core v1.5.1).
keychainAccessGroup: "QP3GLU8PH3.ev.mana.zitare"
keychainAccessGroup: "QP3GLU8PH3.ev.mana.zitare",
appGroup: appGroup
)
/// `zitare-api.mana.how` API-Backend (Hono+Bun).
@ -34,9 +40,6 @@ enum AppConfig {
/// kommt das zurück auf `publicWebURL`.
static let webBaseURL = appBaseURL
/// App-Group für Daten-Sharing zwischen App Widget ShareExt.
static let appGroup = "group.ev.mana.zitare"
/// Endpoint für den Korpus-Snapshot (Phase ζ-2). Heute noch nicht
/// als statische HTTP-Datei publiziert Aufgabe im Web-Repo:
/// `apps/zitare/static/index-min.json` aus dem Snapshot-Job

View file

@ -1,16 +1,21 @@
import Foundation
import ManaCore
import OSLog
/// App-eigene OSLog-Logger unter Subsystem `ev.mana.zitare`.
/// ManaCore loggt unter `ev.mana.core` parallel siehe
/// `mana-swift-core/Sources/ManaCore/Telemetry/CoreLog.swift`.
/// App-eigene OSLog-Logger gegen ``AppConfig/manaAppConfig``. Standard-
/// Kategorien (`app`/`auth`/`api`/`web`) kommen aus ``ManaAppLog``
/// (mana-swift-core v1.7.0+), app-spezifische über `mana.category()`.
///
/// Subsystem leitet sich aus `AppConfig.manaAppConfig.logSubsystem` ab
/// heute `ev.mana.zitare`. ManaCore loggt parallel unter `ev.mana.core`.
enum Log {
static let app = Logger(subsystem: "ev.mana.zitare", category: "app")
static let auth = Logger(subsystem: "ev.mana.zitare", category: "auth")
static let api = Logger(subsystem: "ev.mana.zitare", category: "api")
static let web = Logger(subsystem: "ev.mana.zitare", category: "web")
static let snapshot = Logger(subsystem: "ev.mana.zitare", category: "snapshot")
static let widget = Logger(subsystem: "ev.mana.zitare", category: "widget")
static let spotlight = Logger(subsystem: "ev.mana.zitare", category: "spotlight")
static let share = Logger(subsystem: "ev.mana.zitare", category: "share")
private static let mana = ManaAppLog(AppConfig.manaAppConfig)
static let app = mana.app
static let auth = mana.auth
static let api = mana.api
static let web = mana.web
static let snapshot = mana.category("snapshot")
static let widget = mana.category("widget")
static let spotlight = mana.category("spotlight")
static let share = mana.category("share")
}