mongoose-morgan
v1.0.17
Published
Used to log morgan stream data into MongoDb database.
Downloads
1,829
Maintainers
Readme
mongoose-morgan
Is npm package which is combining mongoose and morgan packages by adding an additional functionality to log morgan data into 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 is accepting 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 by @Ni55aN)
- optional {int} cappedSize (pull req by @Ni55aN)
- optional {int} cappedMax (pull req by @Ni55aN)
- optional {string} dbName (pull req by @pmstss)
- optional {bool} useNewUrlParser (default: true)
- optional {bool} useUnifiedTopology (default: true) (issue #8)
- options : object type - standrad morgan options
- format : string type - standrad mrogan format
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
Feel free to contribute by forking this repository, making changes, and submitting pull requests. For any questions or advice place an issue on this repository.