级别日志记录器

按级别记录日志! 用于 Vapor 项目。 日志是调试应用程序和在生产环境中监控它的关键。 然而,我们在开发期间感兴趣的内容通常与我们在生产环境中感兴趣的内容不同。 按级别记录日志是处理这种情况的一种方法。

级别日志记录器比较顺序

以下只是一个关于分级调试顺序的观点。 未来,最好能找到一种方法使其可配置。

var orderValue: Int {
    switch self {
    case.custom: return 6
    case.fatal: return 5
    case.error: return 4
    case.warning: return 3
    case.info: return 2
    case.verbose: return 1
    case.debug: return 0
    }
}

用法

在你的项目 Swift/configure.swift 中进行以下更改

public func configure(
    _ config: inout Config,
    _ env: inout Environment,
    _ services: inout Services
    ) throws {
    // Register providers first
    ...
    try services.register(LevelLoggerProvider()) // Required
    ...
    config.prefer(LevelLogger.self, for: Logger.self) // Required

    // The following is optional, set to debug by default
    if env.isRelease {
        services.register(LogLevel.info)
    } else {
        // optional
        services.register(LogLevel.debug) // Set your non release log level
    }
}

无耻推销

这是另一个 shauncodes.com 的努力。