成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發技巧之日志保存教程

移動開發 iOS
Objective-C開發程序的時候,有專門的日志操作類NSLog,它將指定的輸出到標準的錯誤輸出上(stderr)。我們可以利用它在Xcode的日志輸出窗口,或者是輸出到具體的文件當中。

iPhone開發技巧之日志保存教程是本文要介紹的內容,大部分人調試程序都是看日志吧,這里我就給大家總結一下iphone程序中添加保存日志的方法。

Objective-C開發程序的時候,有專門的日志操作類NSLog,它將指定的輸出到標準的錯誤輸出上(stderr)。我們可以利用它在Xcode的日志輸出窗口,或者是輸出到具體的文件當中。

下面是我在程序中常用到的日志宏,用DEBUG開關管理,也就是說只有在DEBUG模式下才讓日志輸出 :

  1. #ifdef DEBUG  
  2. #  define LOG(fmt, ...) do {                                            \  
  3.         NSString* file = [[NSString alloc] initWithFormat:@"%s", __FILE__]; \  
  4.         NSLog((@"%@(%d) " fmt), [file lastPathComponent], __LINE__, ##__VA_ARGS__); \  
  5.         [file release];                                                 \  
  6.     } while(0)  
  7. #  define LOG_METHOD NSLog(@"%s", __func__)  
  8. #  define LOG_CMETHOD NSLog(@"%@/%@", NSStringFromClass([self class]), NSStringFromSelector(_cmd))  
  9. #  define COUNT(p) NSLog(@"%s(%d): count = %d\n", __func__, __LINE__, [p retainCount]);  
  10. #  define LOG_TRACE(x) do {printf x; putchar('\n'); fflush(stdout);} while (0)  
  11. #else  
  12. #  define LOG(...)  
  13. #  define LOG_METHOD  
  14. #  define LOG_CMETHOD  
  15. #  define COUNT(p)  
  16. #  define LOG_TRACE(x)  
  17. #endif 

可以看到,除了標準的用戶定義輸出外,我還加入了許多有用的信息,比如源程序文件位置,行號,類名,函數名等。具體的應用可以在具體的開發過程中添加、刪除。

真機測試的時候,可以利用freopen將標準錯誤輸出保存到指定的文件當中,這樣就可以在問題發生后分析日志文件。

  1. - (void)redirectNSLogToDocumentFolder{  
  2.     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
  3.     NSString *documentsDirectory = [paths objectAtIndex:0];  
  4.     NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];  
  5.     NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];  
  6.     freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);  
  7. }  
  8.  
  9. - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  10.     // 真機測試時保存日志  
  11.     if ([CDeviceInfo getModelType] != SIMULATOR) {  
  12.         [self redirectNSLogToDocumentFolder];  
  13.     }  
  14.     .....  

小結:iPhone開發技巧之日志保存教程的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-07-27 15:26:10

iPhone URL Scheme 進程

2011-08-10 15:48:10

iPhone網絡

2011-08-08 14:57:46

iPhone Autoreleas Property

2011-08-02 17:37:01

IPhone開發 環境搭建

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-10 18:24:22

iPhone 圖形 繪圖

2011-07-08 16:02:24

iphone

2021-06-02 06:02:50

Loki 源碼分析日志

2011-08-16 17:18:44

iPhone開發安全

2011-07-27 09:33:14

iPhone 網絡 Web

2012-04-26 13:26:58

iPhone應用技巧

2011-08-09 13:10:32

iPhone地圖開發

2011-07-21 10:29:18

iPhone 開發

2011-07-18 09:35:29

iPhone 框架

2018-03-25 08:44:07

iPhonePDF網頁

2014-04-21 15:53:59

iOS開源項目CocoaLumber

2011-02-22 16:23:20

VSFTPD

2012-05-17 11:45:12

iPhone

2011-07-27 16:46:04

iPhone iPhone破解 MacPort

2011-08-12 10:09:23

iPhone開發多線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区免费在线 | 亚洲网址在线观看 | 日韩一区二区在线视频 | 成人国产精品久久 | 欧美国产免费 | 在线观看亚洲专区 | 毛片在线看片 | 美女久久久久久久久 | 毛片免费视频 | 国产欧美日韩在线一区 | 日操夜操 | 99热在线播放 | 亚洲精品一区二区三区中文字幕 | 久久久夜色精品亚洲 | 国产精品久久久久久中文字 | 欧美日韩中文字幕 | 中文字幕一区二区视频 | 伊人伊成久久人综合网站 | 中文字幕乱码视频32 | 在线国产99| 国产欧美精品一区二区色综合朱莉 | 日韩av一区二区在线观看 | 一区二区三区中文 | 日韩一区二区三区四区五区六区 | 一区二区三区四区不卡视频 | 国产精品久久国产精品 | 亚洲国产精品一区二区三区 | 免费视频二区 | av天天爽 | 中文字幕高清在线 | 欧美激情精品久久久久久免费 | 久久99蜜桃综合影院免费观看 | 亚洲成av人片在线观看无码 | 欧美亚洲日本 | 国产目拍亚洲精品99久久精品 | 在线观看国产视频 | 国产在线观看一区二区 | 精品伊人久久 | 精品香蕉一区二区三区 | 国产亚洲人成a在线v网站 | 国产伊人精品 |