Swift 自定義Log

在項(xiàng)目開(kāi)發(fā)中調(diào)試程序或者確定一些數(shù)據(jù)時(shí)要經(jīng)常用到打印,那我們?nèi)绾问勾蛴∮闷饋?lái)更方便,這需要自定義打印。下面我們開(kāi)始進(jìn)行自定義Log。
如果當(dāng)我們看到打印時(shí)就知道這個(gè)打印是在哪個(gè)文件中,哪個(gè)方法,哪一行,這樣是不是更方便我們查看呢,那么首先我們要獲取該打印所在文件,所在方法,所在行。

獲取打印所在文件

<pre>let file = #file</pre>

獲取打印所在的方法

<pre>let funcName = #function</pre>

獲得打印所在行數(shù)

<pre>llet lineNum = #line</pre>
對(duì)于獲取打印所在文件,我們肯定不希望在打印的時(shí)候看到所有文件路徑信息,而只要知道文件類名就可以了,那么獲取打印所在文件的代碼需要做個(gè)處理,這樣就獲取那個(gè)文件類名。
<pre>let file = (#file as NSString).lastPathComponent</pre>

我們知道了這些,下面就可以封裝一個(gè)打印的方法

<pre>func WXLog<T>(Msg: T, file: String = #file, funcName: String = #function, lineNum: Int = #line) {
let fileName = (file as NSString).lastPathComponent
print("(fileName):((lineNum))-(Msg)")
}</pre>
我們都知道開(kāi)發(fā)項(xiàng)目時(shí)一般在調(diào)試的時(shí)候用的都是Debug模式,上傳到AppStore時(shí)一般都是Release模式,那么怎么樣讓打印在Debug模式下打印,在Release模式下不打印呢?需要這樣做:
1.設(shè)置Debug標(biāo)識(shí),選擇項(xiàng)目TARGETS->Build Settings->搜索swift flag,然后如下圖去做:

Debug.png

在代碼中需要這樣修改:

<pre> func WXLog<T>(Msg: T, file: String = #file, funcName: String = #function, lineNum: Int = #line) {
#if DEBUG
let fileName = (file as NSString).lastPathComponent
print("(fileName):((lineNum))-(Msg)")
#endif
}
</pre>

這樣就實(shí)現(xiàn)了打印在Debug模式下打印,在Release模式下不打印。

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

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

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