Xcode最好用的日誌打印方法

通常打印日誌都是用的系統自帶的NSLog來打印的,假如項目作完了,要上線了,這些打印的日誌就會很浪費性能,網上有不少的解決辦法,我也是感受網上的仍是有點不方便,因此就本身又修改了一下,分享給你們。html

網上的方法就是利用Debug狀態和Release狀態來控日誌的輸出,若是是Debug狀態的話就輸出日誌(就是NSLog的東西會打印),若是是Release狀態的話就不用輸出日誌(就是NSLog的東西不會打印。)因此上架的時候就須要調成Release就好了,就能夠避免浪費打印日誌,節省性能,提升效率。ide

其實精髓只是在pch(若是不知道什麼是pch的話請看這個連接:http://www.cnblogs.com/BK-12345/p/6074087.html)裏面寫了一段代碼就能夠實現這個功能了,而我只是將這段代碼優化了一下,感受不錯。性能

代碼以下:測試

 

//打印的日誌
#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 YZLog(...)
#endif

 以前用NSLog的均可以改爲YZLog就能夠了,好比NSLog(@"測試");之後就能夠寫成YZLog(@"測試");,打印日誌的時候,你就會發現多了兩個東西,第一個就是這個日誌在哪一個類文件中,會把這個類的名字打印出來,還有一個就是在這個類文件的第幾行,也會打印出來,這樣的話一眼就看出來這個日誌是在哪裏寫的,很是方便。優化

對好比圖:spa

 YZLog(@"測試");日誌

 

NSLog(@"測試");component

 

相關文章
相關標籤/搜索