koa2-request-log v1.0.1
koa2-request-log
A koa middleware for logging http requests.
Install
$ npm install koa2-request-log --saveUsage
Typescript:
import * as Koa from 'koa'
import Logger from 'koa2-request-log'
const app = new Koa()
const logger = (new Logger()).generate() // default setting
const loggerWithOpts = (new Logger()).generate({
logColor: '#000',
stream: process.stdout, // log at console or you can write to a file
logFmt: ':method :path :status',
skip(req, res) {
return res.status >= 400
}
}) // log with some options
app.use(logger)
app.use(loggerWithOpts) // could use multiple loggers
app.listen(3000, () => {
console.log('app start')
})Javascript:
const Koa = require('koa')
const Logger = require('koa2-request-log').default
const app = new Koa()
const logger = (new Logger()).generate()
const loggerWithOpts = (new Logger()).generate({
logColor: '#000',
stream: process.stdout,
logFmt: ':method :path :status',
skip(req, res) {
return res.status >= 400
}
})
app.use(logger)
app.use(loggerWithOpts)
app.listen(3000, () => {
console.log('app start')
})Options param
logColor
Define the log color via the hex string(eg.#000) or chalk wrapper(chalk.rgb(0, 0, 0)).
stream
Using node writable stream to define the log output location.e.g.process.stdout.
Output the log to a file:
const fs = require('fs')
const stream = fs.createWriteStream(path.join(__dirname, 'log/app.log'), {
flags: 'a'
})
app.use(logger({
stream
}))skip
Function to determine if log is skipped,defaults to false.The function could get the koa request object and koa response object as params: skip(req, res).
logFmt
Customize the log output format.For example::method --> :path.
logFmt fields
:protocol
The protocol of the request.e.g.http.
:http-version
Http version of the request.e.g.1.1.
:method
Http method of the request.e.g.GET.
:path
Http path of the request.e.g./user.
:status
Http status of response.e.g.200.
:response-time
Http response time of response.e.g.200ms.
:request-at
Request initiation time.e.g.Sat Feb 23 2019 11:57:30 GMT+0800.
:reqheader
Get Http request header.e.g.:req[host] --> localhost:3002.
:resheader
Get Http response header.e.g.:res[content-length] --> 4.
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago