// // SDLLogger.swift // Tun // // Created by 安礼成 on 2024/3/13. // import Foundation import os.log public class SDLLogger: @unchecked Sendable { public enum Level: Int8, CustomStringConvertible { case debug = 0 case info = 1 case warning = 2 case error = 3 public var description: String { switch self { case .debug: return "Debug" case .info: return "Info" case .warning: return "Warning" case .error: return "Error" } } } private let level: Level private let log: OSLog public init(level: Level) { self.level = level self.log = OSLog(subsystem: "com.jihe.punchnet", category: "punchnet") } public func log(_ message: String, level: Level = .debug) { if self.level.rawValue <= level.rawValue { os_log("%{public}@: %{public}@", log: self.log, type: .debug, level.description, message) } } }