项目作者: agea

项目描述 :
Save your browser console logs to AWS CloudWatch
高级语言: JavaScript
项目地址: git://github.com/agea/console-cloud-watch.git
创建时间: 2017-11-25T14:26:57Z
项目社区:https://github.com/agea/console-cloud-watch

开源协议:

下载


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):
    1. {
    2. "Version": "2012-10-17",
    3. "Statement": [
    4. {
    5. "Sid": "VisualEditor0",
    6. "Effect": "Allow",
    7. "Action": [
    8. "logs:CreateLogStream",
    9. "logs:PutLogEvents"
    10. ],
    11. "Resource": [
    12. "arn:aws:logs:AWS_REGION:*:log-group:LOG_GROUP:*:*",
    13. "arn:aws:logs:AWS_REGION:*:log-group:LOG_GROUP"
    14. ]
    15. }
    16. ]
    17. }
  • beware that the credentials will be exposed in the browser so don’t assign other permissions to this user.

Get Console Cloud Watch

npm:

  1. npm install console-cloud-watch

CDN:

  1. <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 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:

  1. # ES6
  2. import ConsoleCloudWatch from 'console-cloud-watch';
  3. # ES5
  4. var ConsoleCloudWatch = require('console-cloud-watch');
  5. 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:

  1. ConsoleCloudWatch(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, LOG_GROUP,['warn','error'],30000,true);