Have ideas to improve npm?Join in the discussion! »


    1.2.0 • Public • Published

    Modulus logger

    version build coverage code climate license

    A Winston wrapper with a simplified interface.


    npm install @modulus/logger


    The returned object is a winston logger instance, so all behavior is documented on that project. The addition of a namespace prefix mimics behavior of our other favorite logger: debug.

    const Logger = require('@modulus/logger')('namespace');
    Logger.info('message', { example: true });
    // writes to process.stdout
    // 2015-11-28T01:38:45.979Z INFO namespace message {"example":true}

    Log level

    The default log level is info, but can be configured using the environment variable LOG_LEVEL.


    All uncaught exceptions are automatically logged to stderr and the process is exited. There is no need to add an additional handler. If you would like to enable the additional behavior of writing all exceptions to a file, you can!

    const Logger = require('@modulus/logger');
    // you can still use the factory to get a logger instance for this file
    var logger = Logger('namespace');
    logger.info('message', { example: true });

    Note, you must use the required module directly, and create a logger instance separately. You typically only need to do this in your main file, so the additional overhead is minimal.

    Pre-exit procedure

    You can also provide an synchronous function to call before exiting the process as a second parameter to writeExceptions, which should return a Boolean.

    const Logger = require('@modulus/logger');
    function exitOnError(exception) {
      // perform pre-exit process
      return true; // you could choose to not exit, based on the exception
    Logger.writeExceptions(PATH, exitOnError);


    npm i @modulus/logger

    DownloadsWeekly Downloads






    Last publish


    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar