sword-logger

1.0.4 • Public • Published

sword-logger NPM version Build Status

logger middleware for sword system

Installation

$ npm install --save sword-logger

Usage

var koa = require('koa')
var swordLogger = require('sword-logger');
 
koa.use(swordLogger(opts))

log file eg, sword-logger-2016-9-26.log,

log file content eg,

{"name":"sword-logger-2016-9-26","hostname":"Gejiawen.local","pid":71410,"level":30,"category":"template","req_id":"06b0bb2e-72dd-449e-b693-cef8738bdd85","label":"start","msg":"POST localhost:8000/user","time":"2016-09-26T10:32:08.472Z","v":0}
{"name":"sword-logger-2016-9-26","hostname":"Gejiawen.local","pid":71410,"level":30,"category":"template","req_id":"06b0bb2e-72dd-449e-b693-cef8738bdd85","label":"finished","status":200,"duration":1,"msg":"POST localhost:8000/user 200 1ms","time":"2016-09-26T10:32:08.473Z","v":0}

extra field as follows,

  • category
  • req_id
  • label
  • duration
  • template
  • request
  • response

Configuration

opts default value as follows,

{
    "logFolder": "./logs",
    "logFilePrefix": "sword-logger",
    "logFileSuffix": ".log",
    "logRecordName": "sword-logger-yyyy-m-dd",
    "enableLogSrc": false,
    "enableSaveInterval": false,
    "logSaveInterval": 6e4,
    "enableSaveBuffer": false,
    "logSaveBuffer": 100,
    "enableReqTimeoutLimit": false,
    "reqTimeoutLimit": 1e3,
    "enableRequestDetail": false,
    "enableResponseDetail": false,
    "enableTemplateDetail": false
}
  • logFolder, log folder
  • logFilePrefix, log file prefix
  • logFileSuffix, log file suffix
  • logRecordName, logger instance name
  • enableLogSrc, enable log src and line number or not
  • enableSaveInterval, enable write to log file by interval or not
  • logSaveInterval, interval time, default is 60000ms
  • enableSaveBuffer, enable write to log file by buffer or not
  • logSaveBuffer, buffer records number, default is 100
  • enableReqTimeoutLimit, enable request timeout limit or not
  • reqTimeoutLimit, request timeout limit, default is 1000ms, sword-logger use WARN level when over request timeout limit
  • enableRequestDetail, enable request log detail or not
  • enableResponseDetail, enable response log detail or not
  • enableTemplateDetail, enable template render log or not

License

MIT © gejiawen

Readme

Keywords

Package Sidebar

Install

npm i sword-logger

Weekly Downloads

0

Version

1.0.4

License

MIT

Last publish

Collaborators

  • gejiawen