Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nemanjapetrovic/mongoose-morgan
An npm package for saving morgan log inside MongoDB
https://github.com/nemanjapetrovic/mongoose-morgan
error error-monitoring express http log logger mongo mongodb mongoose mongoose-morgan morgan
Last synced: about 1 month ago
JSON representation
An npm package for saving morgan log inside MongoDB
- Host: GitHub
- URL: https://github.com/nemanjapetrovic/mongoose-morgan
- Owner: nemanjapetrovic
- License: mit
- Created: 2017-09-03T15:22:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T14:43:30.000Z (2 months ago)
- Last Synced: 2025-01-07T13:44:48.065Z (about 2 months ago)
- Topics: error, error-monitoring, express, http, log, logger, mongo, mongodb, mongoose, mongoose-morgan, morgan
- Language: JavaScript
- Homepage:
- Size: 371 KB
- Stars: 14
- Watchers: 2
- Forks: 10
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# mongoose-morgan
[](https://david-dm.org/nemanjapetrovic/mongoose-morgan)
[](https://david-dm.org/nemanjapetrovic/mongoose-morgan?type=dev)
[](https://snyk.io/test/github/nemanjapetrovic/mongoose-morgan?targetFile=package.json)[](https://nodei.co/npm/mongoose-morgan/)
Is npm package which combines [mongoose](https://www.npmjs.com/package/mongoose) and [morgan](https://www.npmjs.com/package/morgan) packages by adding additional functionality to log morgan data into a MongoDB database.
# Install
To install this package just run:
```npm install mongoose-morgan```
# Basic usage example
Here is an example of using mongoose-morgan together with the express app:
```
// express
var express = require('express');
var app = express();// mongoose-morgan
var morgan = require('mongoose-morgan');// connection-data
var port = process.env.port || 8080;// Logger
app.use(morgan({
connectionString: 'mongodb://localhost:27017/logs-db'
}));// run
app.listen(port);
console.log('works... ' + port);
```The example from the above will create inside `logs-db` database collection called `logs` and will store data inside it.
# Detailed usage
[mongoose-morgan](https://www.npmjs.com/package/mongoose-morgan) accepts three parameters:
- mongoData : object type with next properties
- required {string} connectionString
>- optional {string} collection
>- optional {string} user
>- optional {string} pass
>- optional {bool} capped ([pull req](https://github.com/nemanjapetrovic/mongoose-morgan/pull/2) by @Ni55aN)
>- optional {int} cappedSize ([pull req](https://github.com/nemanjapetrovic/mongoose-morgan/pull/2) by @Ni55aN)
>- optional {int} cappedMax ([pull req](https://github.com/nemanjapetrovic/mongoose-morgan/pull/2) by @Ni55aN)
>- optional {string} dbName ([pull req](https://github.com/nemanjapetrovic/mongoose-morgan/pull/5) by @pmstss)
>- optional {bool} useNewUrlParser (default: true)
>- optional {bool} useUnifiedTopology (default: true) ([issue #8](https://github.com/nemanjapetrovic/mongoose-morgan/issues/8))
- options : object type - [standard morgan options](https://github.com/expressjs/morgan#options)
- format : string type - [standard morgan format](https://github.com/expressjs/morgan#predefined-formats)Example without morgan options:
```
app.use(morgan({
connectionString: 'mongodb://localhost:27017/logs-db'
}, {}, 'short'
));
```Full example:
```
app.use(morgan({
collection: 'error_logger',
connectionString: 'mongodb://localhost:27017/logs-db',
user: 'admin',
pass: 'test12345'
},
{
skip: function (req, res) {
return res.statusCode < 400;
}
},
'dev'
));
```The code above will log data in `dev` format and will skip logging if the response status code is less than 400. Data will be stored in `logs-db` database in `error_logger` collection.
# [Contribution](https://github.com/nemanjapetrovic/mongoose-morgan/blob/master/CONTRIBUTING.md)
Feel free to contribute by forking this repository, making changes, and submitting pull requests. For any questions or advice create an issue in this repository.
# License
[MIT](LICENSE)