0.1.1 • Published 6 years ago
console-cloud-watch v0.1.1
Console Cloud Watch
Send your browser errors and console message to AWS CLoudWatch
Setup
- Login to AWS console
- Open CloudWatch
- Create a Log Group (Set up a retention period to save space)
- Open IAM
- Create a new user with secret and access key
- Assign the user a new policy wich will be able to write logs and create log streams (set your region and log group name):
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:AWS_REGION:*:log-group:LOG_GROUP:*:*", "arn:aws:logs:AWS_REGION:*:log-group:LOG_GROUP" ] } ] }
- beware that the credentials will be exposed in the browser so don't assign other permissions to this user.
Get Console Cloud Watch
npm:
npm install console-cloud-watch
CDN:
<script src="//cdn.jsdelivr.net/npm/console-cloud-watch@0.1.1/dist/console-cloud-watch-all.min.js"></script>
dist/console-cloud-watch-all.min.js
contains all the dependencies (and a custom build of AWS SDK with only the CloudWatch service),
if you already include AWS SDK you may use dist/dist/console-cloud-watch.min.js
directly, note that you have also to include fingerprintjs2
and stacktrace-js
Usage
Include consolewatch.js
in your page, configure your parameters and you are done:
ConsoleCloudWatch(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, LOG_GROUP);
You may also pass 3 optional configuration parameters:
levels
(default:['error']
): an array of strings with the console levels to intercepttimeout
(default:10000
): milliseconds between calls to CloudWatchmute
(default:false
): if set totrue
, intercepted message will not be shown in console
Example:
ConsoleCloudWatch(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, LOG_GROUP,['warn','error'],30000,true);