第一步:獲取打印文件名哼勇,方法名厉熟,行數(shù)
//1.獲取打印所在的文件
let file = (#file as NSString).lastPathComponent;
print(file);
//2.獲取打印所在的方法
let function = #function
print(function);
//3.獲取打印所在的行號(hào)
let line = #line;
print(line)
第二步:全局化
swift中的 全局函數(shù):寫在每個(gè)文件對(duì)應(yīng)的類外部
全局函數(shù)大部分寫在APPdelegate中
此時(shí)就可以這樣寫
func ZNLog<T>(message:T, file:String = #file, funcName:String = #function, lineNum:Int = #line) {
let fileName = (file as NSString).lastPathComponent;
print("[文件名:\(fileName)]:[行數(shù):\(lineNum)]-打印內(nèi)容:\n\(message)");
}
第三步:配置DeBug下打印, Release 下不打印
swift中沒有宏定義棠绘,只能通過添加配置字段
圖片.png
最終寫法
func ZNLog<T>(message:T, file:String = #file, funcName:String = #function, lineNum:Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent;
print("[文件名:\(fileName)]:[行數(shù):\(lineNum)]-打印內(nèi)容:\n\(message)");
#endif
}