Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在使用项目模板生成的Kitura项目中设置日志记录级别?_Swift_Logging_Environment Variables_Kitura - Fatal编程技术网

Swift 如何在使用项目模板生成的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项目的日志记录级别。使用
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)
,但我需要一些后期绑定:),我觉得模板中代码中的代码是有原因的