我想设置我的 Kitura 项目的日志记录级别。项目是使用命令创建的,该kitura init
命令使用模板生成项目。在模板中,有一个initializeLogging
方法可以设置日志级别HeliumLogger
:
func initializeLogging() {
let manager = ConfigurationManager()
manager.load(.environmentVariables)
let logLevel: LoggerMessageType
switch (manager["LOG_LEVEL"] as? String)?.lowercased() {
case "error":
logLevel = .error
case "warning":
logLevel = .warning
case "info":
logLevel = .info
case "verbose":
logLevel = .verbose
case "debug":
logLevel = .debug
case "exit":
logLevel = .exit
case "entry":
logLevel = .entry
case "none", "false", "off", "disabled":
return
default:
logLevel = .info
}
HeliumLogger.use(logLevel)
}
它似乎得到了一个名为"LOG_LEVEL"
. 经过进一步检查manager.load
,我发现它可以访问ProcessInfo.processInfo.environment
,我知道我可以在 Xcode 的“编辑方案”屏幕中设置:
但是,这仅在我使用 Xcode 运行应用程序时才有效。如果我使用swift build
,则在控制台中运行可执行文件。日志记录级别回到“信息”。显然,在“编辑方案”中设置它不是我应该设置的方式......
设置日志记录级别的预期方法是什么?
我知道我可以删除所有内容并写入HeliumLogger.use(.verbose)
,但我想要一些后期绑定:)而且我觉得模板中的代码中的代码是有原因的......