dashbot-logger
Version:
Lambda logger for a custom CloudWatch log group.
32 lines (24 loc) • 869 B
JavaScript
/* Copyright (c) 2016-2019 Dashbot Inc All rights reserved */
const LogTransformer = require('./log-transformer')
const LogWriter = require('./log-writer')
const pump = require('pump')
const { isLambda } = require('./util')
class LoggerWrapper {
constructor (logger) {
this._logger = logger
}
log (value, callback) {
return this._logger.write(value, callback)
}
}
module.exports = function (options) {
if (!options.debug && isLambda()) {
console.warn('dashbot-logger should be used on top of AWS Lambda functions')
}
options.maxStreams = options.maxStreams || process.env.DASHBOT_LOG_MAX_STREAMS || 10
options.minStreams = options.minStreams || process.env.DASHBOT_LOG_MIN_STREAMS || 1
var transform = new LogTransformer(options)
var write = new LogWriter(options)
pump(transform, write)
return new LoggerWrapper(transform)
}