koding / kite.js

Kite client in JavaScript
kite.koding.com
MIT License
75 stars 16 forks source link

Replace enableLogging util with injectable Logger class #46

Closed usirin closed 7 years ago

usirin commented 7 years ago

instead of relying on a function (enableLogging) that depends on a kite being an EventEmitter instance, create a new KiteLogger class and allow logger option to be passed while creating a kite:

const { Logger, Kite } = require('kite.js')
const { DebugLevel } = require('kite.js/lib/constants')
const Kite = new Kite({
  name: 'foo',
  logger: new Logger({
    name: 'foo',
    level: DebugLevel.INFO,
    handlers: {
      error: (...args) => sendToPaperTrail('error', ...args),
      warn: (...args) => sendToPaperTrail('warn', ...args),
      info: (...args) => sendToPaperTrail('info', ...args),
    }
  })
})