logzilla

Node.js Logging Adapter for Devebot

Usage no npm install needed!

<script type="module">
  import logzilla from 'https://cdn.skypack.dev/logzilla';
</script>

README

logzilla

NPM

The simple winston based logging adapter using in devebot.

Usage

Installs logzilla module:

$ npm install --save logzilla

Creates a logzilla object and initializes it:

var LoggerFactory = require('logzilla');
var factory = new LoggerFactory({
  logger: {
    transports: [{
      type: 'console',
      level: 'trace'
    }, {
      type: 'dailyRotateFile',
      level: 'trace',
      json: false,
      datePattern: '.yyyy-MM-dd',
      filename: 'dailyfile.log'
    }, {
      type: 'logstash',
      level: 'trace',
      silent: true,
      host: '127.0.0.1',
      port: 28777
    }]
  }
});
var logger = factory.getLogger();

Uses the helper methods to log messages:

logger.error(' - this is an error: %s', err);
logger.warn(' - alert: this record should be index again.');
logger.trace(' - marks the startpoint of process ...');
logger.info(' - object detail: %s', JSON.stringify(doc));
logger.debug(' - display data and process in details');

Change logger's level

To change logger level at runtime, you should use the setLevel() method:

// ... code that uses old loglevel

// set 'error' level to all transports
logger.setLevel('error');

// set 'trace' level to only 'console' transport
logger.setLevel('trace', 'console'); 

// set 'debug' level to both 'console' and 'logstash' transports
logger.setLevel('debug', ['console', 'logstash']);

// ... code that uses new loglevel

You can reset all logger transport levels to default levels:

logger.resetDefaultLevels();

Enable/disable transports

To disable the transports at runtime, use the follow method call:

// disable the logstash transport
logger.deactivate('logstash');
//logger.activate('logstash', false);

// or the list of transports
logger.deactivate(['dailyRotateFile', 'logstash']);
//logger.activate(['dailyRotateFile', 'logstash'], false);

To enable the tranports at runtime, use the true value in activate() method:

// enable the logstash transport
logger.activate('logstash');

// or the list of transports
logger.activate(['dailyRotateFile', 'logstash']);