1.0.0 • Published 6 years ago

logreq v1.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

OVERVIEW

Logger-agnostic logging middleware for Node.js. Inspired by the "morgan" package.

API

logreq({logger, level, format})

Create a new logreq logging middleware function. The "logger" is the only required parameter. The "level" parameter is a string that provides a means by which to set the log level (defaults to 'info'). The "format" parameter is a function for customizing the log message.

Default Message Format

${ip} ${method} ${url} ${statusCode} ${length} - ${ms} ms ${id}

EXAMPLE

Sample App

const express = require('express')
const winston = require('winston')
const app = express()

const logger = winston.createLogger({
  level: 'info',
  transports: [
    new winston.transports.Console({
      format: winston.format.simple()
    })
  ]
})

const logreq = require('logreq')({logger})
app.use(logreq)

app.get('/download', (req, res) => {
  res.sendFile(`${__dirname}/test.txt`)
})
app.listen(3000, () => console.log('Listening on port 3000!'))

Log Output

The below log output is from the above example app.

info: ::ffff:192.168.1.158 GET /download 200 3507 bytes - 14 ms
info: ::ffff:192.168.1.123 GET /download 200 3507 bytes - 19 ms
info: ::ffff:192.168.1.101 GET /download 200 3507 bytes - 33 ms
info: ::ffff:192.168.1.155 GET /download 200 3507 bytes - 26 ms

LICENSE

ISC