# logreq

> Logger-agnostic logging middleware for Node.js.

Latest version **1.0.0** (published 2018-08-30) · ISC license · 0 weekly downloads

## Install

```sh
npm install logreq
pnpm add logreq
yarn add logreq
bun add logreq
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-08-30 |
| First published | 2018-08-30 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 4.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Craig Younker |
| Maintainers | cryo2010 |

## Links

- npm: https://www.npmjs.com/package/logreq
- Repository: https://github.com/cryo2010/logreq
- Homepage: https://github.com/cryo2010/logreq#readme
- Issues: https://github.com/cryo2010/logreq/issues
- npm.io page: https://npm.io/package/logreq

## Dependencies (1)

- [on-finished](https://npm.io/package/on-finished.md) ^2.3.0

## Recent versions

- 1.0.0 (latest) — 2018-08-30

## README

# 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
```javascript
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.

```shell
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

---
_Source: https://npm.io/package/logreq · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
