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

iPhone開發(fā)技巧之日志保存教程

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

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

Objective-C開發(fā)程序的時候,有專門的日志操作類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 

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

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

  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開發(fā)技巧之日志保存教程的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關推薦

2011-07-27 15:26:10

iPhone URL Scheme 進程

2011-08-10 15:48:10

iPhone網(wǎng)絡

2011-08-08 14:57:46

iPhone Autoreleas Property

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-10 18:24:22

iPhone 圖形 繪圖

2011-07-08 16:02:24

iphone

2011-08-02 17:37:01

IPhone開發(fā) 環(huán)境搭建

2021-06-02 06:02:50

Loki 源碼分析日志

2011-08-16 17:18:44

iPhone開發(fā)安全

2011-07-27 09:33:14

iPhone 網(wǎng)絡 Web

2012-04-26 13:26:58

iPhone應用技巧

2018-03-25 08:44:07

iPhonePDF網(wǎng)頁

2011-07-18 09:35:29

iPhone 框架

2011-08-09 13:10:32

iPhone地圖開發(fā)

2011-07-21 10:29:18

iPhone 開發(fā)

2011-02-22 16:23:20

VSFTPD

2012-05-17 11:45:12

iPhone

2014-04-21 15:53:59

iOS開源項目CocoaLumber

2011-07-27 17:24:31

iPhone NSXMLParse XML

2011-08-08 18:19:09

iPhone音頻播放
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区在线观看视频 | 成人精品一区二区户外勾搭野战 | 亚洲福利 | 日韩欧美在线一区 | 特黄特色大片免费视频观看 | 免费国产一区 | 久久精品视频91 | 亚洲精品一区在线观看 | 欧美久久久久久 | 亚洲精品日韩一区二区电影 | 久久久久久久久久久高潮一区二区 | 91精品久久久久久久99 | 亚洲精品国产精品国自产在线 | 中日韩av | 免费看一区二区三区 | 亚洲一区二区免费看 | 精品91| 91精品国产91久久综合桃花 | 国产福利在线小视频 | 天堂av中文 | 亚洲精品电影 | 三级免费 | 国产成在线观看免费视频 | 91精品国产91久久久久久吃药 | 成人在线视频看看 | 亚洲国产二区 | 欧美视频一区二区三区 | 精品国偷自产在线 | 一级黄色片免费在线观看 | 国产成人在线免费 | 中文字幕亚洲欧美 | 人人爽人人爽 | 日韩欧美在线观看一区 | 成人精品鲁一区一区二区 | 一区欧美 | 成人精品鲁一区一区二区 | 成人综合久久 | 91五月婷蜜桃综合 | 日韩在线免费 | 亚洲国产成人精品女人久久久野战 | 亚洲人成人一区二区在线观看 |