Skip to content

SPM module for request logging filters for the Perfect framework for server-side Swift

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.zh_CN
Notifications You must be signed in to change notification settings

PerfectlySoft/Perfect-RequestLogger

 
 

Repository files navigation

Perfect HTTP Request Logging 简体中文

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) module which provides HTTP request logging filters for use with the Perfect framework for server-side Swift.

Example Log Output

[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

Usage

Add the following dependency to the Package.swift file:

.Package(url: "https://github.com/PerfectlySoft/Perfect-RequestLogger.git", majorVersion: 0)

For each file you wish to directly reference the logging, import the module:

import PerfectRequestLogger

Add to main.swift after instantiating your server:

// 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)])

These request & response filters add the required hooks to mark the beginning and the completion of the HTTP request and response.

Setting a custom Logfile location

The default logfile location is /var/log/perfectLog.log. To set a custom logfile location, set the RequestLogFile.location property:

RequestLogFile.location = "/var/log/myLog.log"

Further Information

For more information on the Perfect project, please visit perfect.org.

About

SPM module for request logging filters for the Perfect framework for server-side Swift

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.zh_CN

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%