日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义输出日志

發布時間:2025/3/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义输出日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

系統的輸出函數NSLog()輸出只能單單輸出內容,當項目比較大,文件比較多時,有時在項目中打印的一些記錄我們很難分清它是出自哪里的,當然我們可以在打印時自己添加一些輔助代碼比如:__func__,__LINE__,但是每次都這樣添加太麻煩了,剛剛在網上搜集了一些資料,然后自己組合了一下,感覺效果還可以,拿出來和大家分享一下
推薦下面代碼直接復制到PCH中


Object-C版:

//自定義日志輸出 #ifdef DEBUG #define MyLog(fmt, ...) NSLog((@"[fileName:%@] func:%s [Line %d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent],__PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) #else #define MyLog(...) #endif

解釋一下
__func__ ? 方法名
__LINE__ ?行號
[[NSString stringWithUTF8String:__FILE__] lastPathComponent] ?文件名

Swift版如下:

//MARK:定義日志輸出函數 func printLog<T>(message: T, file: String = #file, method: String = #function, line: Int = #line) {//release時將會成為空方法,新版LLVM編譯器將會略掉該方法 // #if DEBUG //這行代碼有時候不起作用,目前不清楚是什么原因,但是可以忽略,不影響使用print("\((file as NSString).lastPathComponent)[\(line)], \(method): \(message)") // #endif }

?

轉載于:https://my.oschina.net/dahuilang123/blog/682190

總結

以上是生活随笔為你收集整理的自定义输出日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。