From e7c43e512ddb2b696444bec3cddfb34c0df56244 Mon Sep 17 00:00:00 2001 From: Swap76 Date: Tue, 1 Oct 2019 00:41:22 +0530 Subject: [PATCH] Added Sentry for Error Monitoring --- README.md | 2 + app.js | 5 +++ config/index.js | 2 + package-lock.json | 96 +++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 5 files changed, 106 insertions(+) diff --git a/README.md b/README.md index 5408d04..3b59bf1 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ This project can be used as a boiler plate for building a MongoDB-Express-React- #Database server connection URI. If you are using mLab, this needs to be created at https://mlab.com/, and would look like the following: MONGODB_URI = 'mongodb://:@xxxxx.mlab.com:xxxxx/' + #Sentry url need to be created at https://sentry.io/welcome/, and would look like the following: + SENTRY_DSN = https://@sentry.io/ - Run ``$ npm run dev`` to start both front end and back end on ports 5000 and 3000 respectively - Run ``$ npm run start`` to start the back end express server on port 5000 diff --git a/app.js b/app.js index 92fc5f5..b1ad704 100644 --- a/app.js +++ b/app.js @@ -1,5 +1,6 @@ var express = require("express"); var app = express(); +const Sentry = require('@sentry/node'); var AuthRouter = require("./routes/Authentication"); var UserRouter = require("./routes/User"); var ItemRouter = require("./routes/Item"); @@ -7,6 +8,10 @@ var config = require("./config") const path = require("path"); +Sentry.init({ + dsn: config.dsn, +}); + var mongoose = require('mongoose'); mongoose.connect(config.mLabURI); diff --git a/config/index.js b/config/index.js index dc29947..f94a8b4 100644 --- a/config/index.js +++ b/config/index.js @@ -15,4 +15,6 @@ module.exports = { cloudinaryCloudName: process.env.CLOUDINARY_CLOUD_NAME, //mLab credentials mLabURI: process.env.MONGODB_URI, + //sentry url + dsn: process.env.SENTRY_DSN, }; diff --git a/package-lock.json b/package-lock.json index 14de017..be44386 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,75 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@sentry/core": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.6.2.tgz", + "integrity": "sha512-grbjvNmyxP5WSPR6UobN2q+Nss7Hvz+BClBT8QTr7VTEG5q89TwNddn6Ej3bGkaUVbct/GpVlI3XflWYDsnU6Q==", + "requires": { + "@sentry/hub": "5.6.1", + "@sentry/minimal": "5.6.1", + "@sentry/types": "5.6.1", + "@sentry/utils": "5.6.1", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.6.1.tgz", + "integrity": "sha512-m+OhkIV5yTAL3R1+XfCwzUQka0UF/xG4py8sEfPXyYIcoOJ2ZTX+1kQJLy8QQJ4RzOBwZA+DzRKP0cgzPJ3+oQ==", + "requires": { + "@sentry/types": "5.6.1", + "@sentry/utils": "5.6.1", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.6.1.tgz", + "integrity": "sha512-ercCKuBWHog6aS6SsJRuKhJwNdJ2oRQVWT2UAx1zqvsbHT9mSa8ZRjdPHYOtqY3DoXKk/pLUFW/fkmAnpdMqRw==", + "requires": { + "@sentry/hub": "5.6.1", + "@sentry/types": "5.6.1", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.6.2.tgz", + "integrity": "sha512-A9CELco6SjF4zt8iS1pO3KdUVI2WVhtTGhSH6X04OVf2en1fimPR+Vs8YVY/04udwd7o+3mI6byT+rS9+/Qzow==", + "requires": { + "@sentry/core": "5.6.2", + "@sentry/hub": "5.6.1", + "@sentry/types": "5.6.1", + "@sentry/utils": "5.6.1", + "cookie": "0.3.1", + "https-proxy-agent": "2.2.1", + "lru_map": "0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.6.1.tgz", + "integrity": "sha512-Kub8TETefHpdhvtnDj3kKfhCj0u/xn3Zi2zIC7PB11NJHvvPXENx97tciz4roJGp7cLRCJsFqCg4tHXniqDSnQ==" + }, + "@sentry/utils": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.6.1.tgz", + "integrity": "sha512-rfgha+UsHW816GqlSRPlniKqAZylOmQWML2JsujoUP03nPu80zdN43DK9Poy/d9OxBxv0gd5K2n+bFdM2kqLQQ==", + "requires": { + "@sentry/types": "5.6.1", + "tslib": "^1.9.3" + } + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -372,6 +441,19 @@ "is-arrayish": "^0.2.1" } }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -603,6 +685,15 @@ "statuses": ">= 1.3.1 < 2" } }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + } + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", @@ -748,6 +839,11 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", diff --git a/package.json b/package.json index 7f4dbf9..bdadc7f 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "author": "", "license": "ISC", "dependencies": { + "@sentry/node": "^5.6.2", "bcryptjs": "^2.4.3", "body-parser": "^1.18.2", "cloudinary": "^1.13.2",