import Foundation
class Log{
public static func verbose<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
print("------> ?? [VERBOSE] \(fileName):\(line) \(function) : \(message) ??")
#endif
}
public static func debug<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = dformatter.string(from: Date())
print("------> ?? [DEBUG] \(dateStr) \(fileName):\(line) \(function) : \(message) ??")
#endif
}
public static func info<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = dformatter.string(from: Date())
print("------> ?? [INFO] \(dateStr) \(fileName):\(line) \(function) : \(message) ??")
#endif
}
public static func warning<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = dformatter.string(from: Date())
print("------> ?? [WARNING] \(dateStr) \(fileName):\(line) \(function) : \(message) ??")
#endif
}
public static func error<T>(_ message: T, file: String = #file, function: String = #function, line: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
let dformatter = DateFormatter()
dformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = dformatter.string(from: Date())
print("------> ?? [ERROR] \(dateStr) \(fileName):\(line) \(function) : \(message) ??")
#endif
}
}
使用
Log.debug("characteristic \(characteristic.uuid.uuidString)")
打印的log
------> ?? [DEBUG] 2023-06-15 20:27:11 ViewController.swift:162 peripheral(_:didDiscoverCharacteristicsFor:error:) : characteristic F195B8FB-A9E2-4401-858B-2F87A06928A8 ??