Xcode最好用的日誌打印方法

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

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

其實精髓只是在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(@"測試");,打印日誌的時候,你就會發現多了兩個東西,第一個就是這個日誌在哪個類文件中,會把這個類的名字打印出來,還有一個就是在這個類文件的第幾行,也會打印出來,這樣的話一眼就看出來這個日誌是在哪裏寫的,非常方便。

對比如圖:

 YZLog(@"測試");

 

NSLog(@"測試");

 

 

 

 

 

 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章