2015-09-26 103 views

回答

8

这是一种可能的方式,但并不理想。

首先,我想知道你是否真的想完全停用生产日志。使用errorsevere日志可以成为发布应用程序的有用诊断工具。

如果你确实想完全消除生产中的日志,我建议改变你设置和使用记录器的方式,而不是我在官方文档中的方式。

更改全局日志对象是可选的,而不是:

let log: XCGLogger? = { 
    #if DEBUG 
     let log = XCGLogger.defaultInstance() 
     log.setup(.Debug, showThreadName: true, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug) 
     return log 
    #else 
     return nil 
    #endif 
} 

然后改变你的日志来电:

log?.debug("whatever") 

这将消除由于log记录仪的任何费用就会nil在生产和没有日志记录电话将永远不会被做。

+0

Btw。如果我没有完全删除它们,生产过程中的严重错误和错误日志又会如何回复我 – Kaunteya

+0

在当前版本中,您需要与具有此问题的用户交谈,他们可能能够在他们的控制台日志中看到它们。或者您添加一种方法让应用程序通过电子邮件发送日志文件,甚至将其报告给远程服务器。我计划在年底之前添加一些远程报告(如果时间允许的话)。 –