https://github.com/agea/console-cloud-watch
Save your browser console logs to AWS CloudWatch
https://github.com/agea/console-cloud-watch
aws aws-cloudwatch aws-sdk browser cloudwatch console error-monitoring
Last synced: 3 months ago
JSON representation
Save your browser console logs to AWS CloudWatch
- Host: GitHub
- URL: https://github.com/agea/console-cloud-watch
- Owner: agea
- License: mit
- Created: 2017-11-25T14:26:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-08-05T10:05:10.000Z (over 4 years ago)
- Last Synced: 2025-10-22T18:03:16.958Z (3 months ago)
- Topics: aws, aws-cloudwatch, aws-sdk, browser, cloudwatch, console, error-monitoring
- Language: JavaScript
- Size: 123 KB
- Stars: 25
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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):
```json
{
"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:
```html
```
`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:
```javascript
# 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:
```javascript
ConsoleCloudWatch(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, LOG_GROUP,['warn','error'],30000,true);
```