# logger-request

> http request logger middleware

Latest version **3.8.0** (published 2017-05-14) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install logger-request
pnpm add logger-request
yarn add logger-request
bun add logger-request
```

## 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 | 3.8.0 |
| Published | 2017-05-14 |
| First published | 2014-05-13 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=4 |
| Dependencies | 5 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | hex7c0 |
| Maintainers | hex7c0 |
| Keywords | request, logger, logging, winston |

## Links

- npm: https://www.npmjs.com/package/logger-request
- Repository: https://github.com/hex7c0/logger-request
- Issues: https://github.com/hex7c0/logger-request/issues
- npm.io page: https://npm.io/package/logger-request

## Dependencies (5)

- [winston](https://npm.io/package/winston.md) 2.3.1
- [on-finished](https://npm.io/package/on-finished.md) 2.3.0
- [transfer-rate](https://npm.io/package/transfer-rate.md) 2.1.0
- [basic-authentication](https://npm.io/package/basic-authentication.md) 1.9.0
- [winston-daily-rotate-file](https://npm.io/package/winston-daily-rotate-file.md) 1.4.6

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 3.8.0 (latest) — 2017-05-14
- 3.7.3 — 2016-12-04
- 3.7.2 — 2016-11-06
- 3.7.1 — 2016-09-12
- 3.7.0 — 2016-09-03
- 3.6.1 — 2016-03-06
- 3.6.0 — 2015-12-04
- 3.5.0 — 2015-10-26
- 3.4.0 — 2015-08-27
- 3.3.5 — 2015-06-30
- 3.3.4 — 2015-06-07
- 3.3.3 — 2015-05-05
- 3.3.2 — 2015-04-11
- 3.3.1 — 2015-02-28
- 3.3.0 — 2015-02-15
- … 61 more at https://npm.io/package/logger-request/versions

## README

# [logger-request](https://github.com/hex7c0/logger-request)

[![NPM version](https://img.shields.io/npm/v/logger-request.svg)](https://www.npmjs.com/package/logger-request)
[![Linux Status](https://img.shields.io/travis/hex7c0/logger-request.svg?label=linux-osx)](https://travis-ci.org/hex7c0/logger-request)
[![Windows Status](https://img.shields.io/appveyor/ci/hex7c0/logger-request.svg?label=windows)](https://ci.appveyor.com/project/hex7c0/logger-request)
[![Dependency Status](https://img.shields.io/david/hex7c0/logger-request.svg)](https://david-dm.org/hex7c0/logger-request)
[![Coveralls](https://img.shields.io/coveralls/hex7c0/logger-request.svg)](https://coveralls.io/r/hex7c0/logger-request)

HTTP request logger middleware for [nodejs](http://nodejs.org/), standalone logger and even more!

Save logs to file, show to console or both, to MongoDb, etc...

Look at [`logger-request-cli`](https://github.com/hex7c0/logger-request-cli) for Parser

## Installation

Install through NPM

```bash
npm install logger-request
```
or
```bash
git clone git://github.com/hex7c0/logger-request.git
```

## API

inside expressjs project
```js
var logger = require('logger-request');

var app = require('express')();

app.use(logger({
  filename: 'foo.log',
}));
```

### logger(options)

#### options

 - `transports` - **Array** Array of [winston transports](https://github.com/winstonjs/winston/blob/master/docs/transports.md) *(default "false")* 
 - `filename` - **String** If string, filename of the logfile to write output to *(default "false")*
 - `daily` - **Boolean** If true, rotate log each day *(default "false")*
 - `console` - **Boolean** If true, it displays log to console *(default "false")*
 - `standalone` - **Boolean** If true, return logger function instead of callback *(default "false")*
 - `deprecated` - **Boolean** Flag for write log after `res.end()`(true) instead of default `listener`(false) *(default "false")*
 - `functions` - **String** Use module like a function without `next` callback *(default "false")*
 - `winston` - **Object** Setting for selected transports
  - `logger` - **String** Logger option related to [`winston`](https://github.com/flatiron/winston#working-with-multiple-loggers-in-winston) *(default "logger-request")*
  - `level` - **String** Level of messages that this transport should log *(default "info")*
  - `silent` - **Boolean** Flag indicating whether to suppress output *(default "false")*
  - `colorize` - **Boolean** Flag indicating if we should colorize output *(default "false")*
  - `timestamp` - **Boolean|Function** Flag indicating if we should prepend output with timestamps *(default "true")*. If function is specified, its return value will be used instead of timestamps
  - `maxsize` - **Number** Max size in bytes of the logfile, if the size is exceeded then a new file is created *(default "8388608" [8Mb])*
  - `maxFiles` - **Number** Limit the number of files created when the size of the logfile is exceeded *(default "no limit")*
  - `json` - **Boolean** If true, messages will be logged as JSON *(default "true")*
  - `raw` - **Boolean** If true, raw messages will be logged to console *(default "false")*
  - `...` - **Mixed** Extra settings
 - `custom` - **Object** Setting for customization of logs
  - `pid` - **Boolean** Flag for `process.pid` *(default "disabled")*
  - `bytesReq` - **Boolean** Flag for `req.socket.bytesRead` *(default "disabled")*
  - `bytesRes` - **Boolean** Flag for `req.socket._bytesDispatched` *(default "disabled")*
  - `referer` - **Boolean** Flag for `req.headers['referer']` *(default "disabled")*
  - `auth` - **Boolean** Flag for [`basic-authentication`](https://github.com/hex7c0/basic-authentication) *(default "disabled")*
  - `transfer` - **Boolean** Flag for [`transfer-rate`](https://github.com/hex7c0/transfer-rate) *(default "disabled")*
  - `agent` - **Boolean** Flag for `req.headers['user-agent']` *(default "disabled")*
  - `lang` - **Boolean** Flag for `req.headers['accept-language']` *(default "disabled")*
  - `cookie` - **Boolean** Flag for `req.cookies` *(default "disabled")*
  - `headers` - **Boolean** Flag for `req.headers` *(default "disabled")*
  - `version` - **Boolean** Flag for `req.httpVersionMajor` *(default "disabled")*
  - `callback` - **Function** Flag for using callback function *(default "disabled")*

## Examples

Take a look at my [examples](examples)

### [License Apache2](LICENSE)

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