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 🟩