完美的 HTTP 请求日志记录 简体中文

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 3.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

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