Skip to content

Rafflecopter/node-book-loggly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

book-loggly

loggly middleware for the book logging framework.

This middleware is shamelessly copy/modified from book-raven.

Install

npm install book book-loggly --save

Use

var log = require('book').default();

var logglyClient = require('loggly').createClient(myLogglyConfig);

var bookLogglyOptions = {
  // A custom book-loggly option to ignore logs at ignore_levels and above
  // 0: panic, 1: error, 2: warning, 3: info, 4: debug (default), 5: trace
  "ignore_levels": log.TRACE,

  // An (optional) arbitrary object to add to the log event to notify where its coming from
  "from": {
    "instance-id": "123"
  }
};

log.use(require('book-loggly')(logglyClient, bookLogglyOptions));


// Now just log as usual
log.warn("Hey there!")
log.info("Logging this object", {some: 'object'})
log.error(new Error("test error!"))

Internals

book-loggly uses the loggly JSON capability to log objects. The general form of these objects is:

{
  "isError": false,
  "message": "message",
  "level_code": 3,
  "level": "warning",
  "extra": {
    "extra_parameters": "that were added by other middleware",
    "object fields": "from objects passed into the log function"
  },
  "from": {
    "static-information": "from options.from"
  }
}

uncaughtException

If there is an error sending the packet to loggly, an error will be thrown. To catch it, use uncaughtException. You can do anything here, but perhaps you want to exit.

process.on('uncaughtException', function(err) {
    log.panic(err);
    setTimeout(process.exit.bind(process, 1), 1500);
})

License

See LICENSE file.

About

loggly middleware for the book logging framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published