fix: Log errors to console when Sentry not installed

This commit is contained in:
Tom Moor
2020-04-25 19:53:24 -07:00
parent 870b91f17a
commit 187be4737e
5 changed files with 21 additions and 15 deletions

View File

@ -20,6 +20,7 @@ class ErrorBoundary extends React.Component<Props> {
componentDidCatch(error: Error, info: Object) {
this.error = error;
console.error(error);
if (window.Sentry) {
Sentry.captureException(error);

View File

@ -94,22 +94,26 @@ if (process.env.SENTRY_DSN) {
environment: process.env.NODE_ENV,
maxBreadcrumbs: 0,
});
}
app.on('error', (error, ctx) => {
// we don't need to report every time a request stops to the bug tracker
if (error.code === 'EPIPE' || error.code === 'ECONNRESET') {
console.warn('Connection error', { error });
return;
}
app.on('error', (error, ctx) => {
// we don't need to report every time a request stops to the bug tracker
if (error.code === 'EPIPE' || error.code === 'ECONNRESET') {
console.warn('Connection error', { error });
return;
}
if (process.env.SENTRY_DSN) {
Sentry.withScope(function(scope) {
scope.addEventProcessor(function(event) {
return Sentry.Handlers.parseRequest(event, ctx.request);
});
Sentry.captureException(error);
});
});
}
} else {
console.error(error);
}
});
app.use(mount('/auth', auth));
app.use(mount('/api', api));

View File

@ -83,7 +83,9 @@ export class Mailer {
attachments: data.attachments,
});
} catch (err) {
Sentry.captureException(err);
if (process.env.SENTRY_DSN) {
Sentry.captureException(err);
}
throw err; // Re-throw for queue to re-try
}
}

View File

@ -115,7 +115,7 @@ export const uploadToS3FromUrl = async (
const endpoint = publicS3Endpoint(true);
return `${endpoint}/${key}`;
} catch (err) {
if (process.env.NODE_ENV === 'production') {
if (process.env.SENTRY_DSN) {
Sentry.captureException(err);
} else {
throw err;
@ -157,7 +157,7 @@ export const getImageByKey = async (key: string) => {
const data = await s3.getObject(params).promise();
return data.Body;
} catch (err) {
if (process.env.NODE_ENV === 'production') {
if (process.env.SENTRY_DSN) {
Sentry.captureException(err);
} else {
throw err;

View File

@ -34,12 +34,11 @@ async function addImageToArchive(zip, key) {
const img = await getImageByKey(key);
zip.file(key, img, { createFolders: true });
} catch (err) {
if (process.env.NODE_ENV === 'production') {
if (process.env.SENTRY_DSN) {
Sentry.captureException(err);
} else {
// error during file retrieval
console.error(err);
}
// error during file retrieval
console.error(err);
}
}