Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hex7c0/logger-request
http request logger middleware for Nodejs
https://github.com/hex7c0/logger-request
logger nodejs winston
Last synced: about 1 month ago
JSON representation
http request logger middleware for Nodejs
- Host: GitHub
- URL: https://github.com/hex7c0/logger-request
- Owner: hex7c0
- License: apache-2.0
- Created: 2014-05-13T13:35:15.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T22:51:58.000Z (9 months ago)
- Last Synced: 2024-04-13T19:19:46.391Z (9 months ago)
- Topics: logger, nodejs, winston
- Language: JavaScript
- Homepage: https://github.com/hex7c0/logger-request
- Size: 479 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
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)