winston-mongodb v5.1.1
winston
A MongoDB transport for winston.
Current version supports only mongodb driver version 3.x and winston 3.x. If you want to use winston-mongodb with mongodb version 1.4.x use winston-mongodb <1.x. For mongodb 2.x use winston-mongodb <3.x.
Motivation
tldr;?
: To break the winston codebase into small modules that work
together.
The winston codebase has been growing significantly with contributions and other logging transports. This is awesome. However, taking a ton of additional dependencies just to do something simple like logging to the Console and a File is overkill.
Usage
var winston = require('winston');
/**
* Requiring `winston-mongodb` will expose
* `winston.transports.MongoDB`
*/
require('winston-mongodb');
winston.add(new winston.transports.MongoDB(options));
The MongoDB transport takes the following options. 'db' is required:
- level: Level of messages that this transport should log, defaults to 'info'.
- silent: Boolean flag indicating whether to suppress output, defaults to false.
- db: MongoDB connection uri, pre-connected
MongoClient
object or promise which resolves to a pre-connectedMongoClient
object. - dbName: The database name to connect to, defaults to DB name based on connection URI if not provided, ignored if using a pre-connected mongoose connection.
- options: MongoDB connection parameters (optional, defaults to
{poolSize: 2, autoReconnect: true, useNewUrlParser: true}
). - collection: The name of the collection you want to store log messages in, defaults to 'log'.
- storeHost: Boolean indicating if you want to store machine hostname in logs entry, if set to true it populates MongoDB entry with 'hostname' field, which stores os.hostname() value.
- label: Label stored with entry object if defined.
- name: Transport instance identifier. Useful if you need to create multiple MongoDB transports.
- capped: In case this property is true, winston-mongodb will try to create new log collection as capped, defaults to false.
- cappedSize: Size of logs capped collection in bytes, defaults to 10000000.
- cappedMax: Size of logs capped collection in number of documents.
- tryReconnect: Will try to reconnect to the database in case of fail during initialization. Works only if db is a string. Defaults to false.
- decolorize: Will remove color attributes from the log entry message, defaults to false.
- leaveConnectionOpen: Will leave MongoClient connected after transport shut down.
- metaKey: Configure which key is used to store metadata in the logged info object.
Defaults to
'metadata'
to remain compatible with the metadata format - expireAfterSeconds: Seconds before the entry is removed. Works only if capped is not set.
Metadata: Logged as a native JSON object in 'meta' property.
Logging unhandled exceptions: For logging unhandled exceptions specify
winston-mongodb as handleExceptions
logger according to winston documentation.
Querying and streaming logs
Besides supporting the main options from winston, this transport supports the following extra options:
- includeIds: Whether the returned logs should include the
_id
attribute settled by mongodb, defaults tofalse
.
Installation
$ npm install winston
$ npm install winston-mongodb
Changelog
Author: Charlie Robbins
Contributors: Yurij Mikhalevich, Kendrick Taylor, Yosef Dinerstein, Steve Dalby
1 year ago
2 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
13 years ago
13 years ago
13 years ago
13 years ago