bole-mongodb

0.2.4 • Public • Published

bole-mongodb

MongoDB stream for the bole logger

npm

Plugin for the bole logger. Saves the logs to a MongoDB collection, log by default.

var bole = require('bole');
var boleMongo = require('bole-mongodb');
 
MongoClient.connect(url, function (err, db) {
  if (err) return console.error(err);
  
  var boleMongoStream = boleMongo({ db: db, capped: true })
    .on('error', console.error);
  
  bole.output([
    { level: 'error', stream: boleMongoStream }
  ]);
 
  var log = bole('my-module');
 });

The Db object is required. Instead of opening a new connection from inside the plugin, the user is responsible for the connection's lifecycle. Therefore, this plugin assumes that the connection is already open. However, it won't fail if it's not.

MongoDB has the concept of a Capped collection and it can be used for logging purposes. This plugin tries to create a capped collection each time a message is logged. Therefore, it's not required to have the connection open at the time of registering the plugin.

module(options) : Writable
Returns a new Writable stream instance.

Options:

  • db - Object
    MongoDB Db instance. This option is mandatory.
  • collection - String
    Name of the collection. Default logs.
  • capped - Boolean
    If the collection doesn't exist, creates a new capped collection. Default false.
  • size - Number
    Size in bytes of the capped collection. Default 10000000 (10MB rounded up to the nearest multiple of 256).
  • max - Number
    Maximum number of documents allowed in the capped collection. Default undefined.
  • force - Boolean
    If the collection already exists, it is converted into a capped collection. Default false.

Readme

Keywords

Package Sidebar

Install

npm i bole-mongodb

Weekly Downloads

5

Version

0.2.4

License

MIT

Last publish

Collaborators

  • gagle