Wondering what’s next for npm?Check out our public roadmap! »

    winston-mongodb
    TypeScript icon, indicating that this package has built-in type declarations

    5.0.7 • Public • Published

    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-connected MongoClient object.
    • 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 to false.

    Installation

      $ npm install winston
      $ npm install winston-mongodb

    Changelog

    Author: Charlie Robbins

    Contributors: Yurij Mikhalevich, Kendrick Taylor, Yosef Dinerstein, Steve Dalby

    Install

    npm i winston-mongodb

    DownloadsWeekly Downloads

    21,439

    Version

    5.0.7

    License

    MIT

    Unpacked Size

    27.3 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar