@sinet/logger

Default logger setup using Winston

Usage no npm install needed!

<script type="module">
  import sinetLogger from 'https://cdn.skypack.dev/@sinet/logger';
</script>

README

Logger

Build Status Dependency Status devDependency Status

Winston logger to use with the Logstash and Kibana.

Usage

npm install @sinet/logger --save

Example

// Options are for winston transports, file and console
var options = {
    'file' : {
        // File transport is enabled on development and production environment
        'enabled'  : [ 'development', 'production' ],
        'filename' : 'logs/myLogFile.log',
    },

    'console' : {
        // Console transport is enabled only in development environment
        'enabled' : [ 'development' ],
        'level'   : 'debug'
    },

    'logstash' : {
        'enabled' : [ 'production' ],
        'port'    : 9563
    },

    // These are additional fields that get added to all logs
    'additional' : {
        'container' : 'user-service',

        // The items below are defaults added by the library automatically
        'hostname'   : os.hostname(),
        'dockerhost' : process.env.DOCKER_HOST || 'undefined'
    }
};

var logger = require( '@sinet/logger' )( options );

logger.error( 'error message', { 'method': 'v1.users.get', 'payload', payload } );

FAQs

  1. What happens when I add a file or console option without setting the enabled property?
// Example
var options = {
    'file'    : {},
    'console' : {}
}

Answer: If file and/or console is explicitly provided without setting the enabled property it will log in any environment.

Contributing

All pull requests must follow coding conventions and standards.