Xcode最好用的日志打印方法

一般打印日志都是用的系統(tǒng)自帶的NSLog來打印的,假如項目做完了,要上線了,這些打印的日志就會很浪費性能,網(wǎng)上有很多的解決辦法,我也是感覺網(wǎng)上的還是有點不方便,所以就自己又修改了一下,分享給大家。

網(wǎng)上的方法就是利用Debug狀態(tài)和Release狀態(tài)來控日志的輸出,如果是Debug狀態(tài)的話就輸出日志(就是NSLog的東西會打印),如果是Release狀態(tài)的話就不用輸出日志(就是NSLog的東西不會打印。)所以上架的時候就需要調(diào)成Release就行了,就可以避免浪費打印日志,節(jié)省性能,提高效率。

其實精髓只是在pch(如果不知道什么是pch的話請看這個鏈接:http://www.cnblogs.com/BK-12345/p/6074087.html)里面寫了一段代碼就可以實現(xiàn)這個功能了,而我只是將這段代碼優(yōu)化了一下,感覺不錯。

代碼如下:

//打印的日志

#ifdef DEBUG

#define YZLog(...) \

NSLog(@"%@第%d行:%@\n---------------------------",[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"][[[NSString stringWithFormat:@"%s",__FILE__] componentsSeparatedByString:@"/"].count-1], __LINE__, [NSString stringWithFormat:__VA_ARGS__]);

#else

#define DLog(...)

#endif

之前用NSLog的都可以改成YZLog就可以了,比如NSLog(@"測試");以后就可以寫成YZLog(@"測試");,打印日志的時候,你就會發(fā)現(xiàn)多了兩個東西,第一個就是這個日志在哪個類文件中,會把這個類的名字打印出來,還有一個就是在這個類文件的第幾行,也會打印出來,這樣的話一眼就看出來這個日志是在哪里寫的,非常方便。

對比如圖:

YZLog(@"測試");

NSLog(@"測試");

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容