Swift Package Manager (SPM) 模块,为服务器端 Swift 的 Perfect 框架提供 HTTP 请求日志记录过滤器。
[INFO] [62f940aa-f204-43ed-9934-166896eda21c] [servername/WuAyNIIU-1] 2016-10-07 21:49:04 +0000 "GET /one HTTP/1.1" from 127.0.0.1 - 200 64B in 0.000436007976531982s
[INFO] [ec6a9ca5-00b1-4656-9e4c-ddecae8dde02] [servername/WuAyNIIU-2] 2016-10-07 21:49:06 +0000 "GET /two HTTP/1.1" from 127.0.0.1 - 200 64B in 0.000207006931304932s
将以下依赖项添加到 Package.swift
文件中
.Package(url: "https://github.com/PerfectlySoft/Perfect-RequestLogger.git", majorVersion: 0)
对于每个您希望直接引用日志记录的文件,导入该模块
import PerfectRequestLogger
在实例化您的 server
之后,将其添加到 main.swift
中
// Instantiate a logger
let myLogger = RequestLogger()
// Add the filters
// Request filter at high priority to be executed first
server.setRequestFilters([(myLogger, .high)])
// Response filter at low priority to be executed last
server.setResponseFilters([(myLogger, .low)])
这些请求和响应过滤器添加了必要的钩子,以标记 HTTP 请求和响应的开始和完成。
默认日志文件位置是 /var/log/perfectLog.log
。要设置自定义日志文件位置,请设置 RequestLogFile.location
属性
RequestLogFile.location = "/var/log/myLog.log"
有关 Perfect 项目的更多信息,请访问 perfect.org。