Initial commit
This commit is contained in:
commit
1db16227b2
31 changed files with 2175 additions and 0 deletions
51
Sources/CoreUtils/Logger.swift
Normal file
51
Sources/CoreUtils/Logger.swift
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import Foundation
|
||||
import os.log
|
||||
|
||||
public enum LogLevel: String, CaseIterable {
|
||||
case debug = "DEBUG"
|
||||
case info = "INFO"
|
||||
case warning = "WARNING"
|
||||
case error = "ERROR"
|
||||
}
|
||||
|
||||
public class Logger {
|
||||
private let osLog: OSLog
|
||||
private let category: String
|
||||
|
||||
public init(category: String) {
|
||||
self.category = category
|
||||
self.osLog = OSLog(subsystem: "com.menuwhisper.app", category: category)
|
||||
}
|
||||
|
||||
public func debug(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
|
||||
log(level: .debug, message: message, file: file, function: function, line: line)
|
||||
}
|
||||
|
||||
public func info(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
|
||||
log(level: .info, message: message, file: file, function: function, line: line)
|
||||
}
|
||||
|
||||
public func warning(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
|
||||
log(level: .warning, message: message, file: file, function: function, line: line)
|
||||
}
|
||||
|
||||
public func error(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
|
||||
log(level: .error, message: message, file: file, function: function, line: line)
|
||||
}
|
||||
|
||||
private func log(level: LogLevel, message: String, file: String, function: String, line: Int) {
|
||||
let fileName = URL(fileURLWithPath: file).lastPathComponent
|
||||
let logMessage = "[\(category)] \(message) (\(fileName):\(function):\(line))"
|
||||
|
||||
switch level {
|
||||
case .debug:
|
||||
os_log("%{public}@", log: osLog, type: .debug, logMessage)
|
||||
case .info:
|
||||
os_log("%{public}@", log: osLog, type: .info, logMessage)
|
||||
case .warning:
|
||||
os_log("%{public}@", log: osLog, type: .default, logMessage)
|
||||
case .error:
|
||||
os_log("%{public}@", log: osLog, type: .error, logMessage)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue