Swift 如何在使用项目模板生成的Kitura项目中设置日志记录级别?
我想设置Kitura项目的日志记录级别。使用Swift 如何在使用项目模板生成的Kitura项目中设置日志记录级别?,swift,logging,environment-variables,kitura,Swift,Logging,Environment Variables,Kitura,我想设置Kitura项目的日志记录级别。使用kitura init命令创建项目,该命令使用模板生成项目。在模板中,有一个initializeLogging方法,用于设置HeliumLogger的日志记录级别: func initializeLogging() { let manager = ConfigurationManager() manager.load(.environmentVariables) let logLevel: LoggerMessageType
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\u LEVEL”
的环境变量。在进一步检查manager.load
的功能后,我发现它可以访问ProcessInfo.ProcessInfo.environment
,我知道我可以在Xcode的“编辑方案”屏幕中设置它:
但是,这仅在我使用Xcode运行应用程序时有效。如果我使用swift build
,则在控制台中运行可执行文件。日志记录级别回到“info”。显然,在“编辑方案”中设置它不是我应该如何设置它
设置日志记录级别的预期方法是什么
我知道我可以删除所有内容,然后编写
HeliumLogger.use(.verbose)
,但我需要一些后期绑定:),我觉得模板中代码中的代码是有原因的