Negligible Psychological Misery
Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

bunyan-cloudwatch

2.2.0 • Public • Published

bunyan-cloudwatch Build Status

Stream to write bunyan logs to AWS CloudWatch.

This is actually a plain Node.js Writable object stream so could be used without bunyan.

Usage

var bunyan = require('bunyan');
var createCWStream = require('bunyan-cloudwatch');
 
var stream = createCWStream({
  logGroupName: 'my-group',
  logStreamName: 'my-stream',
  cloudWatchLogsOptions: {
    region: 'us-west-1'
  }
});
 
var log = bunyan.createLogger({
  name: 'foo',
  streams: [
    {
      stream: stream,
      type: 'raw'
    }
  ]
});

To avoid raising exceptions when stringifying circular object logs, install the optional dependency 'safe-json-stringify'.

Avoid logging from multiple sources to the same CloudWatch log stream. The module has a fallback by requesting the latest log sequence but this can result in a major performance decrease due to additional requests. It is recommended to e.g. add the machines IP address to the log stream name when logging from multiple instances.

API

createCWStream(opts)

With opts of:

  • logGroupName (required)
  • logStreamName (required)
  • cloudWatchLogsOptions (optional): options passed to the AWS.CloudWatchLogs constructor

On write of the first log, the module creates the logGroup and logStream if necessary.

We use the aws-sdk to write the logs - the AWS credentials have therefore to be configured using environment variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY).

Contributors

This project was created by Mirko Kiefer (@mirkokiefer).

install

npm i bunyan-cloudwatch

Downloadsweekly downloads

2,705

version

2.2.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability