根據(jù)Debug和Release狀態(tài)的變化來屏蔽日志輸出

經(jīng)常會用到NSLog來調(diào)試我們的程序,而隨著項(xiàng)目越來越大,這些用于調(diào)試的日志輸出就會變得很難管理。 我們在發(fā)布正式版的時候一定要屏蔽掉所有后臺輸出,因?yàn)檫@些輸出還是比較消耗系統(tǒng)資源的。 往往到了這個時候,我們不得不去一行一行的找到NSLog調(diào)用,然后注釋掉。 這樣做在項(xiàng)目小的時候還比較有效,但隨著項(xiàng)目規(guī)模的增長,就會變得越來越難控制。 下面就給大家介紹一個簡單的方法,讓我們在生成Release版本時不需要進(jìn)行任何更改即可屏蔽所有的Log輸出

1.首先我們先要定義這樣一段預(yù)處理命令,建一個.h文件,例如 NSLog.h

#ifdef DEBUG

#define NSLog(FORMAT, ...)  do{fprintf(stderr,"[DEBUG] >  [%s %s] [Line %d] %s %s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String],[[[NSString stringWithUTF8String:__FUNCTION__] lastPathComponent] UTF8String], __LINE__,[[[GJLogFormatter dateFormatterWithFormat:@"HH:mm:ss.SSS"] stringFromDate:[NSDate date]] UTF8String], [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);}while(0)

#else

#define NSLog(format, ...)

#endif

檢查DEBUG標(biāo)志是否正確定義,xcode一般會在debug運(yùn)行配置項(xiàng)里面已經(jīng)定義號了DEBUG標(biāo)志,如果沒定義我們就自己寫上,以我的xcode 4 為例,如下圖:


如圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容