2.5.0 • Published 10 years ago

arklogger v2.5.0

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

Logger

Framework logger for ark team purposes. Based on bunyan library.

Features:

  • lightweight and flexible
  • support logging to: console, file, logstash and any stream
  • all features of bunyan

Warning:

If stream logstash is used with pubsub queue (cfg.pubsub set to true) - app will not exit correctly (socket is still open). You should close socket manually (logstashstream.redis.end()): https://github.com/mranney/node_redis#clientend

Usage:

#####First, load library in your app

var Logger = require('logger');

#####Second, init logging function with one of this methods: 1) Init by config

// all fields are optional except "name" and "level"
var cfg = {
    name: 'my app',
    console: {
        level: 'info',
        color: true,
        timestamp: 'HH:mm:ss '
    },
    logstash: {
        level: 'info',
        key: 'logstash',
        pubsub: false,
        host: '127.0.0.1',
        port: 6379,
        db: 0
    },
    file: {
        level: 'error',
        path: 'error.log'
    }
};
var log = new Logger(cfg);
log.error('i will appear only in file')

2) Create streams by yourself

var logger = new Logger('my app');

logger.appendStream({
    stream: new Logger.stream.logstash(),
    type: 'raw',
    level: 'info'
});
logger.appendStream({
  stream: new Logger.stream.console(),
  type: 'raw',
  level: 'info'
});

// if no appendStream called - will be created logger to console only
var log = logger.createLogger();
log.info('hello')

3) Pass streams on init in array

var log = new LoggerClass('my app', [{
  stream: process.stdout,
  level: 'info'
}]);
log.error('im usable');

4) Load preset

// will load config from presets/dc-fremont.json
var log = new Logger('my app', 'dc-fremont');
log.error('im usable');

What else:

Logger supports all bunyan features: passing custom fields, child logging, serializers, logging caugth JS expeptions and http responces, working with streams etc. Please visit bunyan documentation for more.

2.5.0

10 years ago

2.4.0

10 years ago

2.2.0

10 years ago

2.1.2

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.0

10 years ago

1.4.1

10 years ago

1.4.0

10 years ago