Skip to content
 
 

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo Lawgs

Nodejs logging to CloudWatch Logs made easy

Features

  • Creates Log Groups automatically
  • Creates Log Streams automatically
  • Periodic upload
  • Automatic log batching
  • JSON logging support
  • logger instances are shared across modules

Get it

npm install lawgs

How to use it

The only required configurations are the AWS configurations.

var lawgs = require('./index');

lawgs.config({
	aws: {
		accessKeyId: '********', /* Optional if credentials are set in ~/.aws/credentials */
		secretAccessKey: '******', /* Optional */
		region: 'us-east-1' /* Required */
	}
});

If you are using roles, you will need the following roles:

  • logs:DescribeLogGroups
  • logs:DescribeLogStreams
  • logs:CreateLogGroup
  • logs:CreateLogStream
  • logs:PutLogEvents

Simply create your logger and you are ready to go.

var logger  = lawgs.getOrCreate('SuperbowlLogs'); /* LogGroup */
logger.log('touchdown', { team: 'Patriots', weight: 7 });

Example

See example.js for a full working example.

Running the example, you get the following output:

Disposed subscription
Resubscribed
SuperbowlLogs >> uploadQueuedLogs triggered with  2  logs
Checking if log group exists: SuperbowlLogs
Creating log group: SuperbowlLogs
Checking if log stream exists: error
Checking if log stream exists: touchdown
Creating log stream: error
Creating log stream: touchdown
Uploading logs
Uploading logs
Logs uploaded
Logs uploaded

Roadmap

  • S3 logs archiving

Contributing

Feel free to open issues and open pull requests.

Related projects

Lambdaws (AWS Lambda Wrapper)

Superbowl Notifier (Used Lawgs to log high-volume tweets)

About

Logging to AWS CloudWatch Logs made easy

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages