iOS-Swift

swift自定义log

2018-07-03  本文已影响0人  Mr_ZNN

第一步:获取打印文件名,方法名,行数

//1.获取打印所在的文件
let file = (#file as NSString).lastPathComponent;
print(file);

//2.获取打印所在的方法
let function = #function
print(function);

//3.获取打印所在的行号
let line = #line;
print(line)

第二步:全局化

swift中的 全局函数:写在每个文件对应的类外部
全局函数大部分写在APPdelegate中

此时就可以这样写

func ZNLog<T>(message:T, file:String = #file, funcName:String = #function, lineNum:Int = #line) {

     let fileName = (file as NSString).lastPathComponent;

     print("[文件名:\(fileName)]:[行数:\(lineNum)]-打印内容:\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)]:[行数:\(lineNum)]-打印内容:\n\(message)");

 #endif

}

上一篇下一篇

猜你喜欢

热点阅读