Simple File Logger Logo

Vapor 3 Swift 4.1 MIT License

概述

一个简单的 Vapor Logger 提供者,用于将服务器日志输出到日志文件。

Simple File Logger 根据日志的 LogLevel 输出单独的文件。调试日志输出到 debug.log,错误日志输出到 error.log,依此类推。 默认情况下,日志输出到

Linux macOS
/var/log/Vapor/ ~/Library/Caches/Vapor/

您可以通过在设置期间更改 executableName 来将 Vapor/ 更改为任意目录。

安装

将此依赖项添加到您的 Package.swift

dependencies: [
    .package(url: "https://github.com/hallee/vapor-simple-file-logger.git", from: "1.0.1"),
],

并将 "SimpleFileLogger" 作为依赖项添加到您应用程序的目标。

设置

configure.swift

services.register(SimpleFileLogger.self)
config.prefer(SimpleFileLogger.self, for: Logger.self)

要定义可执行文件的名称并包含时间戳,您可以提供配置

services.register(Logger.self) { container -> SimpleFileLogger in
    return SimpleFileLogger(executableName: "hal.codes", 
                            includeTimestamps: true)
}
config.prefer(SimpleFileLogger.self, for: Logger.self)

用法

您可以在 Vapor 应用程序中的任何位置使用访问其 Container 的权限创建日志记录器,方法是

Container.make(Logger.self)

例如,要记录到服务器的所有请求

router.get(PathComponent.catchall) { req in
    let logger = try? req.sharedContainer.make(Logger.self)
    logger?.debug(req.description)
}