feat(sdk): 日志等级 logLevel 配置化(默认 .off,对外发布完全静默)
BleLog 之前所有调用都无条件 print(Debug 包),集成方没法关。新增 public enum BleLogLevel(off/error/warn/info/debug),通过 DuooomiBleConfig.logLevel 传入,DuooomiBleSDK.init 第一行写入 BleLog.level。默认 .off 保证对外集成默认静默,排查时显式开 .debug。 保留 #if DEBUG 兜底,Release 任何 level 都不输出。 frameIntervalMs 越界 warn 从 DuooomiBleConfig.init 挪到 DuooomiBleSDK.init 内、level 设置之后,避免在 level 写入前丢日志。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,9 @@ public struct DuooomiBleConfig {
|
||||
/// 协议帧之间的发送间隔(毫秒)。合法区间 `[0, 500]`,越界仅 warn,使用点会 clamp。
|
||||
/// 集成方一般无需调整;调高用于排查接收端丢帧/拥塞。默认 35。
|
||||
public let frameIntervalMs: Int
|
||||
/// SDK 日志等级。默认 `.off`,对外发布完全静默;排查时改 `.warn` 或 `.debug`。
|
||||
/// Release 构建因 `#if DEBUG` 条件编译,任何 level 都不会输出。
|
||||
public let logLevel: BleLogLevel
|
||||
|
||||
public init(
|
||||
apiHost: URL = URL(string: "https://api.duooomi.com")!,
|
||||
@@ -31,7 +34,8 @@ public struct DuooomiBleConfig {
|
||||
aniHeight: Int = 360,
|
||||
aniFps: String = "24",
|
||||
scanNamePrefix: String,
|
||||
frameIntervalMs: Int = 35
|
||||
frameIntervalMs: Int = 35,
|
||||
logLevel: BleLogLevel = .off
|
||||
) {
|
||||
self.apiHost = apiHost
|
||||
self.apiKey = apiKey
|
||||
@@ -41,9 +45,7 @@ public struct DuooomiBleConfig {
|
||||
self.aniHeight = aniHeight
|
||||
self.aniFps = aniFps
|
||||
self.scanNamePrefix = scanNamePrefix
|
||||
if frameIntervalMs < 0 || frameIntervalMs > 500 {
|
||||
BleLog.w("frameIntervalMs=\(frameIntervalMs) out of [0,500], will clamp at use site", "Config")
|
||||
}
|
||||
self.frameIntervalMs = frameIntervalMs
|
||||
self.logLevel = logLevel
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user