项目作者: pengng

项目描述 :
HTTP request log middleware
高级语言: JavaScript
项目地址: git://github.com/pengng/http-logs.git
创建时间: 2017-05-14T12:04:44Z
项目社区:https://github.com/pengng/http-logs

开源协议:

下载


http-logs

HTTP request log middleware

Usage

  1. npm i -S http-logs
  1. const app = require('express')()
  2. const logger = require('http-logs')
  3. app.use(logger())
  4. app.listen(3000)
  5. > GET / HTTP/1.1 200 1ms

config

logger([preset | token][,options])

第一个参数是一个字符串,可以是preset,也可以是自定义的token

preset

preset output description
normal GET / HTTP/1.1 200 218ms 默认
tiny GET / 200 简单
long [2017-05-14 21:03:25 周日] ::ffff:192.168.0.100 /index.html
HTTP/1.1 304 23ms Mozilla/5.0 (Windows NT 6.1; Win64;
x64) AppleWebkit/537.36 (KHTML, like Gecko)
Chrome/58.0.3029.110 Safari/537.36
详细

token

token output description
method GET 请求方法
url /path/to/resource 请求路径
httpVersion HTTP/1.1 http版本
status 200 响应状态码
duration 28ms 请求到输出完成的持续时间
ip ::ffff:192.168.0.100 IP地址
date 2017-05-14 请求开始日期
time 19:00:00 请求开始时间
day 周日 请求开始星期
userAgent Mozilla/5.0 客户端用户代理内容
  1. const token = '[:date :time] :method :url :httpVersion :status'
  2. app.use(logger(token))
  3. // [2017-05-14 19:23:33] GET /index.html HTTP/1.1 200

options

重定义token

  1. const token = '[:date :when :time] :method :url'
  2. const options = {
  3. // 增加新的token类型when
  4. when: function (req, res) {
  5. return (new Date().getHours() >= 12) ? '下午' : '上午'
  6. },
  7. // 重写method
  8. method: function (req, res) {
  9. return req.method.toLowerCase()
  10. }
  11. }
  12. app.use(logger(token, options))
  13. // [2017-05-14 上午 10:22:29] get /index.html