diff --git a/src/components/ErrorBoundary/index.js b/src/components/ErrorBoundary/index.js index 4ac790c..6521776 100644 --- a/src/components/ErrorBoundary/index.js +++ b/src/components/ErrorBoundary/index.js @@ -1,7 +1,5 @@ import React, { Component } from 'react'; -import * as Sentry from '@sentry/browser'; - -const LOCAL_DEVELOPMENT = process.env.REACT_APP_LOCAL_DEVELOPMENT; +import logMsgWithSentry from '../../helpers/logMsgWithSentry'; class ErrorBoundary extends Component { constructor(props) { @@ -14,16 +12,8 @@ class ErrorBoundary extends Component { static getDerivedStateFromError(error) { try { - if (LOCAL_DEVELOPMENT !== '1') { - Sentry.init({ - dsn: "https://e7b2134f7d816f663bb83e51b106a694@o4508381921738752.ingest.de.sentry.io/4508381935501392", - environment: process.env.NODE_ENV || "development" - }); - - Sentry.captureException(error); - } + logMsgWithSentry('', 0, {}, error); } catch (err) { - console.log('err') console.log(err); } return { builderError: true }; diff --git a/src/helpers/logMsgWithSentry.js b/src/helpers/logMsgWithSentry.js new file mode 100644 index 0000000..5dee179 --- /dev/null +++ b/src/helpers/logMsgWithSentry.js @@ -0,0 +1,31 @@ +import * as Sentry from '@sentry/browser'; + +const LOCAL_DEVELOPMENT = process.env.REACT_APP_LOCAL_DEVELOPMENT; + +const logMsgWithSentry = (endpoint = '', status = 0, resp = {}, error = null) => { + try { + if (LOCAL_DEVELOPMENT !== '1') { + Sentry.init({ + dsn: 'https://e7b2134f7d816f663bb83e51b106a694@o4508381921738752.ingest.de.sentry.io/4508381935501392', + environment: process.env.NODE_ENV || 'development' + }); + + if (!error) { + const newError = new Error(`Status ${status}`); + Sentry.captureException(`Error in endpoint: ${endpoint}`, { + level: 'error', + extra: { + originalError: newError, + details: resp + } + }); + } else { + Sentry.captureException(error); + } + } + } catch (err) { + console.log(err); + } +} + +export default logMsgWithSentry; \ No newline at end of file diff --git a/src/service/network-service.js b/src/service/network-service.js index 82bde68..431fce5 100644 --- a/src/service/network-service.js +++ b/src/service/network-service.js @@ -1,33 +1,11 @@ import { storeGet, storeSet } from '../store'; -import * as Sentry from '@sentry/browser'; - -const LOCAL_DEVELOPMENT = process.env.REACT_APP_LOCAL_DEVELOPMENT; +import logMsgWithSentry from '../helpers/logMsgWithSentry'; export class NetworkService { - static TOKEN_KEY - static REFRESH_TOKEN_KEY static logApiError = (endpoint, status = 0, resp = {}) => { if (status === 500) { - if (LOCAL_DEVELOPMENT !== '1') { - try { - Sentry.init({ - dsn: 'https://e7b2134f7d816f663bb83e51b106a694@o4508381921738752.ingest.de.sentry.io/4508381935501392', - environment: process.env.NODE_ENV || 'development' - }); - - const error = new Error(`Status ${status}`); - Sentry.captureException(`Error in endpoint: ${endpoint}`, { - level: 'error', - extra: { - originalError: error, - details: resp - } - }); - } catch (err) { - console.log(err); - } - } + logMsgWithSentry(endpoint, status, resp); } else if (status === 403) { storeSet.main.token(''); const { pathname } = window.location;