fix loggers
This commit is contained in:
parent
acab387898
commit
1042b5c724
@ -14,13 +14,11 @@ public class SDLLogger: @unchecked Sendable {
|
|||||||
case trace = "com.jihe.punchnet.trace"
|
case trace = "com.jihe.punchnet.trace"
|
||||||
}
|
}
|
||||||
|
|
||||||
private static var loggers: [String: SDLLogger] {
|
private static let debugLoggingEnabled = ProcessInfo.processInfo.environment["SDL_DEBUG_LOG"] != "0"
|
||||||
var loggers: [String: SDLLogger] = [:]
|
private static let traceLoggingEnabled = ProcessInfo.processInfo.environment["SDL_TRACE_LOG"] == "1"
|
||||||
for sub in Subsystem.allCases {
|
private static let loggers: [Subsystem: SDLLogger] = {
|
||||||
loggers[sub.rawValue] = .init(subsystem: sub)
|
Dictionary(uniqueKeysWithValues: Subsystem.allCases.map { ($0, SDLLogger(subsystem: $0)) })
|
||||||
}
|
}()
|
||||||
return loggers
|
|
||||||
}
|
|
||||||
|
|
||||||
private let log: Logger
|
private let log: Logger
|
||||||
|
|
||||||
@ -32,9 +30,20 @@ public class SDLLogger: @unchecked Sendable {
|
|||||||
self.log.info("\(message, privacy: .public)")
|
self.log.info("\(message, privacy: .public)")
|
||||||
}
|
}
|
||||||
|
|
||||||
public static func log(_ message: String, for system: Subsystem = .debug) {
|
public static func log(_ message: @autoclosure () -> String, for system: Subsystem = .debug) {
|
||||||
if let logger = loggers[system.rawValue] {
|
guard self.isEnabled(system), let logger = loggers[system] else {
|
||||||
logger._log(message)
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
logger._log(message())
|
||||||
|
}
|
||||||
|
|
||||||
|
private static func isEnabled(_ system: Subsystem) -> Bool {
|
||||||
|
switch system {
|
||||||
|
case .debug:
|
||||||
|
return self.debugLoggingEnabled
|
||||||
|
case .trace:
|
||||||
|
return self.traceLoggingEnabled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user