A Winston transport for Amazon CloudWatch.
const winston = require('winston')
const CloudWatchTransport = require('winston-aws-cloudwatch')
const logger = winston.createLogger({
transports: [
new CloudWatchTransport({
logGroupName: '...', // REQUIRED
logStreamName: '...', // REQUIRED
createLogGroup: true,
createLogStream: true,
submissionInterval: 2000,
submissionRetryCount: 1,
batchSize: 20,
awsConfig: {
accessKeyId: '...',
secretAccessKey: '...',
region: '...'
},
formatLog: item =>
`${item.level}: ${item.message} ${JSON.stringify(item.meta)}`
})
]
})
If, for any reason, logging to CloudWatch should fail, then the transport will
emit an error
event. It is recommended that you
subscribe to this event
to avoid crashes.
As you may have noticed, there is also winston-cloudwatch, which predates this module. After making some contributions to that one, I felt like writing my own version. Feel free to use whichever you like best.
MIT