The Swift Package Index logo.Swift Package Index

追踪 Swift 6 严格并发检查在数据竞争安全方面的采用情况。有多少 Package 准备好迎接 Swift 6 了?

SwiftBoxLogging

allegro/swiftbox-logging

当使用 Xcode 项目时

当使用 Swift Package Manager 清单时

选择 package 版本

1.0.0

master





SwiftBoxLogging

Swift/Vapor 的日志系统。 官方 https://github.com/apple/swift-log 包应该被使用,此包已被弃用。

Build Status Swift 4.1 Linux MacOS

通用

用法

1. 导入

import SwiftBoxLogging

2. 引导

日志在使用前应该被引导(默认为 PrintLogger)。 引导需要一个参数,即日志工厂。 日志工厂必须从 Console/Logging 包中返回 Logger

Logging.bootstrap({ name in Logger2(name) })

2. 用法

创建一个日志实例

fileprivate var logger = Logging.make(#file)

记录一条消息

logger.verbose("verbose")
logger.debug("debug")
logger.info("info")
logger.warning("warning")
logger.error("error")
logger.fatal("fatal")

自定义日志器

要创建自定义日志器,您的类必须符合来自 Console/Logging 包的 Logger 协议。

Vapor

你可以在 Vapor 和 logging 包中使用相同的日志记录。

private func configureLogging(_ config: inout Config, _ env: inout Environment, _ services: inout Services) {
    /// Register Logger2
    services.register(Logger2.self)

    switch env {
    case .production:
        config.prefer(Logger2.self, for: Logger.self)
        Logging.bootstrap({ name in Logger2(name) })
    default:
        config.prefer(PrintLogger.self, for: Logger.self)
        Logging.bootstrap({ _ in PrintLogger() })
    }
}