UNPKG

node-hue-api

Version:
43 lines (42 loc) 1.41 kB
//TODO this is a different debug item otherwise we turn on the standar logging too const DEBUG = /node-hue-rate-limits/.test(process.env['NODE_DEBUG'] || ''); export class HueApiRateLimitLogger { constructor(name) { this.name = name; } static install(name, bottleneck) { if (HueApiRateLimitLogger.isDebug()) { const logger = new HueApiRateLimitLogger(name); bottleneck.on('error', (err) => { logger.log('error', err); }); bottleneck.on('failed', (err) => { logger.log('failed', err); }); bottleneck.on('received', (err) => { logger.log('received', err); }); bottleneck.on('queued', (err) => { logger.log('queued', err); }); bottleneck.on('executing', (err) => { logger.log('executing', err); }); bottleneck.on('done', (err) => { logger.log('done', err); }); } } static isDebug() { return DEBUG; } log(event, payload) { if (HueApiRateLimitLogger.isDebug()) { let detail = `${event}`; if (payload) { detail += `\n${JSON.stringify(payload)}`; } console.log(`HueApiRateLimiter [${this.name}] :: ${detail}`); } } }