Skip to content

agea/console-cloud-watch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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/[email protected]/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 console-cloud-watch.js in your page, configure your parameters and you are done. Make sure that AWS, StackTrace, and optionally Fingerprint2 have been required as well:

    # ES6
    import ConsoleCloudWatch from 'console-cloud-watch';
    # ES5
    var ConsoleCloudWatch = require('console-cloud-watch');
    

    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 intercept
  • timeout (default: 10000): milliseconds between calls to CloudWatch
  • mute (default: false): if set to true, 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);