swift壓縮--Zip

最近項(xiàng)目需要做個(gè)日志系統(tǒng),并且壓縮上傳。雖然使用的都是第三方庫,但是還是在這里寫下吧。
使用的第三方
日志使用: https://github.com/DaveWoodCom/XCGLogger
導(dǎo)入項(xiàng)目
使用的pod 導(dǎo)入

pod "XCGLogger" #log日志

日志XCGLogger 配置

import XCGLogger
let log = XCGLogger.default    使用全局常量聲明為默認(rèn)的XCGLogger實(shí)例

在AppDelegate中進(jìn)行一些初始化操作

func application(_application:UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey:Any]?) ->Bool

高級(jí)使用
控制臺(tái)輸出:

let systemDestination = AppleSystemLogDestination(identifier:"advancedLogger.systemDestination")

//設(shè)置控制臺(tái)輸出的各個(gè)配置項(xiàng)

systemDestination.outputLevel= .debug
systemDestination.showLogIdentifier=false
systemDestination.showFunctionName=true
systemDestination.showThreadName=true
systemDestination.showLevel=true
systemDestination.showFileName=true
systemDestination.showLineNumber=true
systemDestination.showDate=true
//logger對(duì)象中添加控制臺(tái)輸出
log.add(destination: systemDestination)

日志文件地址:

letlogURL =self.createLogFile()
letfileDestination =FileDestination(writeToFile: logURL,
identifier:"advancedLogger.fileDestination",
shouldAppend:true, appendMarker:"-- Relauched App --")

//設(shè)置文件輸出的各個(gè)配置項(xiàng)

fileDestination.outputLevel= .debug
fileDestination.showLogIdentifier=false
fileDestination.showFunctionName=true
fileDestination.showThreadName=true
fileDestination.showLevel=true
fileDestination.showFileName=true
fileDestination.showLineNumber=true
fileDestination.showDate=true
//文件輸出在后臺(tái)處理
fileDestination.logQueue=XCGLogger.logQueue
//logger對(duì)象中添加控制臺(tái)輸出
log.add(destination: fileDestination)
//開始啟用
log.logAppDetails()

自定義時(shí)間格式:

letdateFormatter =DateFormatter()
dateFormatter.dateFormat="yyyy-MM-dd HH:mm:ss"
dateFormatter.locale=Locale.current
log.dateFormatter= dateFormatter

最后:

log.setup(level: .debug, showThreadName:true, showLevel:true, showFileNames:true, showLineNumbers:true)

調(diào)試與發(fā)布 配置

#if DEBUG
log.setup(level: .debug, showThreadName:true, showLevel:true, showFileNames:true, showLineNumbers:true)
#else
log.setup(level: .severe, showThreadName:true, showLevel:true, showFileNames:true, showLineNumbers:true)
#end if

基本使用

log.verbose(“一個(gè)詳細(xì)的消息,通常在處理特定問題時(shí)很有用”)
log.debug(“ A debug message ”)
log.info(“一個(gè)信息消息,可能有用的為用戶在console.app中查找”)
log.warning(“警告信息,可能表示可能的錯(cuò)誤”)
log.error(“發(fā)生錯(cuò)誤,但它可以恢復(fù),只是關(guān)于發(fā)生了什么的信息”)
log.severe(“發(fā)生嚴(yán)重錯(cuò)誤,我們現(xiàn)在可能會(huì)崩潰”)

之前也沒加過日志,所以就在項(xiàng)目 登錄(超時(shí)、重連)、數(shù)據(jù)庫操作catch、 文件操作catch、所有接口返回失敗。這些地方加了log.error(".......") 。 希望有人可以留言注意要打日志地方,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,523評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,971評(píng)論 6 342
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,252評(píng)論 4 61
  • 所有贊美的話,都獻(xiàn)給你 ——在我年輕的時(shí)候。 所有悲傷的眼淚,都留給自己 ...
    左右中閱讀 388評(píng)論 0 0