import Foundation /// SDK 日志等级。集成方通过 `DuooomiBleConfig.logLevel` 设定;Release 构建无论如何都静默。 public enum BleLogLevel: Int { case off = 0 case error case warn case info case debug } enum BleLog { /// 由 `DuooomiBleSDK.init(config:)` 写入;默认 `.off`,对外发布完全静默。 static var level: BleLogLevel = .off static func d(_ message: @autoclosure () -> String, _ category: String = "General") { #if DEBUG guard level.rawValue >= BleLogLevel.debug.rawValue else { return } print("[DuooomiBleSDK][\(category)] \(message())") #endif } static func i(_ message: @autoclosure () -> String, _ category: String = "General") { #if DEBUG guard level.rawValue >= BleLogLevel.info.rawValue else { return } print("ℹ️ [DuooomiBleSDK][\(category)] \(message())") #endif } static func w(_ message: @autoclosure () -> String, _ category: String = "General") { #if DEBUG guard level.rawValue >= BleLogLevel.warn.rawValue else { return } print("⚠️ [DuooomiBleSDK][\(category)] \(message())") #endif } static func e(_ message: @autoclosure () -> String, _ category: String = "General") { #if DEBUG guard level.rawValue >= BleLogLevel.error.rawValue else { return } print("❌ [DuooomiBleSDK][\(category)] \(message())") #endif } }