bole-mongodb
v0.2.4
Published
MongoDB stream for the bole logger
Downloads
2
Readme
bole-mongodb
MongoDB stream for the bole logger
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
MongoDBDb
instance. This option is mandatory. - collection - String
Name of the collection. Defaultlogs
. - capped - Boolean
If the collection doesn't exist, creates a new capped collection. Defaultfalse
. - size - Number
Size in bytes of the capped collection. Default10000000
(10MB rounded up to the nearest multiple of 256). - max - Number
Maximum number of documents allowed in the capped collection. Defaultundefined
. - force - Boolean
If the collection already exists, it is converted into a capped collection. Defaultfalse
.