在生产环境中,如何从XCGLogger完全禁用日志?
目前我正在使用logLevel = .None。
这是推荐的方法吗?
发布于 2015-09-27 02:01:47
这是一种可能的方法,但并不理想。
首先,我想知道您是否真的想在生产中完全禁用日志。使用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,并且永远不会进行日志记录调用。
https://stackoverflow.com/questions/32795096
复制相似问题