// // LogManager.swift // SwiftChain // // Created by Victor on 05/05/2025. // import os.log public struct LogManager { public enum LogLevel: String { case info = "INFO" case success = "SUCCÈS" case warning = "ATTENTION" case error = "ERREUR" case network = "RÉSEAU" case blockchain = "BLOCKCHAIN" var logType: OSLogType { switch self { case .info, .success: return .info case .warning: return .debug case .error: return .error case .network, .blockchain: return .default } } } static let log = OSLog(subsystem: "com.votreapp.swiftchain", category: "blockchain") public static func log(_ message: String, level: LogLevel) { os_log("%{public}@: %{public}@", log: log, type: level.logType, level.rawValue, message) // Également afficher dans la console pour le CLI let timestamp = DateFormatter.localizedString(from: Date(), dateStyle: .none, timeStyle: .medium) print("[\(timestamp)] [\(level.rawValue)] \(message)") } }