Swift 自定義Log(Debug — Release)

NO.1 先了解下 Debug 和 Release 的區(qū)別
  • Release是發(fā)行版本,比Debug版本有一些優(yōu)化惶楼,文件比Debug文件小 Debug是調(diào)試版本,Debug和Release調(diào)用兩個不同的底層庫泽裳。
  • 一、"Debug是調(diào)試版本齐佳,包括的程序信息更多"
  • 二锭弊、只有DEBUG版的程序才能設(shè)置斷點、單步執(zhí)行柜裸、使用TRACE/ASSERT等調(diào)試輸出語句缕陕。
  • 三、REALEASE不包含任何調(diào)試信息疙挺,所以體積小扛邑、運行速度快。
NO.2
  • 在Swift中我們普通打印的話铐然,默認(rèn)只會打印想要打印的內(nèi)容不會像OC那樣打印附加的一些信息
print(“我是帥哥嗎?")
  • 系統(tǒng)只會打印:
Snip20160929_3.png

不會有其它信息蔬崩,所以我們在調(diào)試的時候是不方面的,所以我們需要自己寫一個打印方法搀暑,來顯示一些必要的打印信息沥阳,方便我們平時調(diào)試程序

NO.3 直接上代碼,寫在 AppDelegate 中的一個全局函數(shù)
func JJLog<T>(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    let fileName = (file as NSString).lastPathComponent
    print("\(fileName):(\(lineNum))-\(messsage)")
}
  • 使用:
 JJLog("就是帥哥")
Snip20160929_5.png

這樣就會顯示是在哪個類自点,哪一行進(jìn)行的打印

NO.4 最后我們還要設(shè)置在Release狀態(tài)下不會出現(xiàn)這些打印
  • 按下面的操作桐罕,給Debug狀態(tài)設(shè)置一個標(biāo)記,這樣系統(tǒng)會判斷只在Debug狀態(tài)才進(jìn)行打印
Snip20160929_6.png
  • 在Build Settings 搜索 Swift flags 展開Debug 添加標(biāo)記 并在我們的全局函數(shù)中加入判斷
func JJLog<T>(messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    
    #if DEBUG
    
    let fileName = (file as NSString).lastPathComponent
    
    print("\(fileName):(\(lineNum))-\(messsage)")
    
    #endif
}
  • 這樣設(shè)置后,我們的調(diào)試打印冈绊,在Release情況下就不會再打印了
后記:Swift初學(xué)侠鳄,感謝小碼哥。死宣。伟恶。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毅该,隨后出現(xiàn)的幾起案子博秫,更是在濱河造成了極大的恐慌,老刑警劉巖眶掌,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挡育,死亡現(xiàn)場離奇詭異,居然都是意外死亡朴爬,警方通過查閱死者的電腦和手機(jī)即寒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來召噩,“玉大人母赵,你說我怎么就攤上這事【叩危” “怎么了凹嘲?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長构韵。 經(jīng)常有香客問我周蹭,道長,這世上最難降的妖魔是什么疲恢? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任凶朗,我火速辦了婚禮,結(jié)果婚禮上冈闭,老公的妹妹穿的比我還像新娘俱尼。我一直安慰自己,他們只是感情好萎攒,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布遇八。 她就那樣靜靜地躺著,像睡著了一般耍休。 火紅的嫁衣襯著肌膚如雪刃永。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天羊精,我揣著相機(jī)與錄音斯够,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛读规,可吹牛的內(nèi)容都是我干的抓督。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼束亏,長吁一口氣:“原來是場噩夢啊……” “哼铃在!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碍遍,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤定铜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怕敬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揣炕,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年东跪,在試婚紗的時候發(fā)現(xiàn)自己被綠了畸陡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡越庇,死狀恐怖罩锐,靈堂內(nèi)的尸體忽然破棺而出奉狈,到底是詐尸還是另有隱情卤唉,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布仁期,位于F島的核電站桑驱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏跛蛋。R本人自食惡果不足惜熬的,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赊级。 院中可真熱鬧押框,春花似錦、人聲如沸理逊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晋被。三九已至兑徘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間羡洛,已是汗流浹背挂脑。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人崭闲。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓肋联,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刁俭。 傳聞我的和親對象是個殘疾皇子牺蹄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)薄翅,斷路器沙兰,智...
    卡卡羅2017閱讀 134,662評論 18 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件翘魄、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評論 4 62
  • 文/愛啃骨頭的貓咪 文字是視覺媒體中的重要構(gòu)成要素鼎天,文字排列組合的好壞,直接影響著版面的視覺傳達(dá)效果暑竟。 新媒體運營...
    愛啃骨頭的貓咪閱讀 3,247評論 0 1
  • 意十年 初相見斋射,豆蔻年,少不更事只愛憐但荤。殊不知罗岖,一眼已十年。 而如今腹躁,梅之年桑包,世事歷經(jīng)...
    一席之賓閱讀 175評論 0 2
  • “鄭州 90km” 我抬頭看到那條高速路邊上的牌子。不知道離家具體有多遠(yuǎn)了纺非,我已經(jīng)走了一個多月了哑了,一路向南。這十月...
    怪獸在這兒閱讀 201評論 2 1