pilotkid / mongoose-morgan

An npm package for saving morgan log inside MongoDB

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mongoose-morgan

dependencies Status devDependencies Status Known Vulnerabilities

NPM

Is npm package which combines mongoose and 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("combined", {
    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 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 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 - standard morgan options
  • format : string type - standard morgan format

Example without morgan options:

app.use(morgan("combined",
   {
    connectionString: 'mongodb://localhost:27017/logs-db'
   }, {}, 'short'
));

Full example:

app.use(morgan("combined",
   {
    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.

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

About

An npm package for saving morgan log inside MongoDB

License:MIT License


Languages

Language:JavaScript 100.0%