koa2-request-log
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

koa2-request-log

A koa middleware for logging http requests.

Install

$ npm install koa2-request-log --save

Usage

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.

:req[header]

Get Http request header.e.g.:req[host] --> localhost:3002.

:res[header]

Get Http response header.e.g.:res[content-length] --> 4.

Package Sidebar

Install

npm i koa2-request-log

Weekly Downloads

2

Version

1.0.1

License

ISC

Unpacked Size

53.3 kB

Total Files

9

Last publish

Collaborators

  • shenyiling