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

Audit V4. Spart Subsystem-String-Duplikation; AppGroup ist jetzt
single-source in AppConfig.manaAppConfig.appGroup.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-17 22:38:36 +02:00
parent 57e472ff34
commit 4f154bfb39
2 changed files with 19 additions and 10 deletions

View file

@ -10,7 +10,10 @@ enum AppConfig {
keychainService: "ev.mana.cardecky",
// Explizit auf TeamID.BundleID, statt nil. Vermeidet Logout
// bei TestFlight-Cert-Drift (siehe mana-swift-core v1.5.1).
keychainAccessGroup: "QP3GLU8PH3.ev.mana.cardecky"
keychainAccessGroup: "QP3GLU8PH3.ev.mana.cardecky",
// Single-Source fuer den App-Group-String (App-Hülle + Widget
// + ShareExt-Entitlement spiegeln das hardcoded).
appGroup: "group.ev.mana.cardecky"
)
static let apiBaseURL = URL(string: "https://cardecky-api.mana.how")!

View file

@ -1,13 +1,19 @@
import Foundation
import ManaCore
import OSLog
/// App-eigene OSLog-Logger unter Subsystem `ev.mana.cardecky`.
/// 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`) 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.cardecky`. ManaCore loggt parallel unter
/// `ev.mana.core`.
enum Log {
static let app = Logger(subsystem: "ev.mana.cardecky", category: "app")
static let auth = Logger(subsystem: "ev.mana.cardecky", category: "auth")
static let api = Logger(subsystem: "ev.mana.cardecky", category: "api")
static let study = Logger(subsystem: "ev.mana.cardecky", category: "study")
static let sync = Logger(subsystem: "ev.mana.cardecky", category: "sync")
private static let mana = ManaAppLog(AppConfig.manaAppConfig)
static let app = mana.app
static let auth = mana.auth
static let api = mana.api
static let study = mana.category("study")
static let sync = mana.category("sync")
}