swiftlib_sdlan/Sources/Punchnet/SDLLogger.swift
2025-08-20 15:53:21 +08:00

46 lines
1.1 KiB
Swift

//
// 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)
}
}
}