Package Exports
- lawgs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lawgs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 uploadedRoadmap
- 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)