我该如何在生产环境下完全禁用XCGLogger的日志记录?
目前我使用的是
这是推荐的方法吗?
目前我使用的是
logLevel = .None
。这是推荐的方法吗?
这是一种可能的方法,但并不理想。
首先,我会想知道您是否真的想在生产环境中完全禁用日志记录。使用error
和severe
日志可以成为发布应用程序的有用诊断工具。
如果您确实想要在生产环境中完全消除日志记录,我建议改变设置和使用记录器的方式,而不是官方文档中提供的方式。
将全局日志对象更改为可选项:
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
,并且永远不会进行任何日志记录调用。