2

我想设置我的 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),但我想要一些后期绑定:)而且我觉得模板中的代码中的代码是有原因的......

4

0 回答 0