feat: Normalized server logging (#2567)

* feat: Normalize logging

* Remove scattered console.error + Sentry.captureException

* Remove mention of debug

* cleanup dev output

* Edge cases, docs

* Refactor: Move logger, metrics, sentry under 'logging' folder.
Trying to reduce the amount of things under generic 'utils'

* cleanup, last few console calls
This commit is contained in:
Tom Moor
2021-09-14 18:04:35 -07:00
committed by GitHub
parent 6c605cf720
commit 83a61b87ed
36 changed files with 508 additions and 264 deletions

View File

@ -1,7 +1,7 @@
// @flow
import http from "http";
import debug from "debug";
import Koa from "koa";
import Logger from "../logging/logger";
import {
globalEventQueue,
processorEventQueue,
@ -16,9 +16,6 @@ import Imports from "../queues/processors/imports";
import Notifications from "../queues/processors/notifications";
import Revisions from "../queues/processors/revisions";
import Slack from "../queues/processors/slack";
import Sentry from "../utils/sentry";
const log = debug("queue");
const EmailsProcessor = new Emails();
@ -46,24 +43,22 @@ export default function init(app: Koa, server?: http.Server) {
const event = job.data;
const processor = eventProcessors[event.service];
if (!processor) {
console.warn(
`Received event for processor that isn't registered (${event.service})`
);
Logger.warn(`Received event for processor that isn't registered`, event);
return;
}
if (processor.on) {
log(`${event.service} processing ${event.name}`);
Logger.info("processor", `${event.service} processing ${event.name}`, {
name: event.name,
modelId: event.modelId,
});
processor.on(event).catch((error) => {
if (process.env.SENTRY_DSN) {
Sentry.withScope(function (scope) {
scope.setExtra("event", event);
Sentry.captureException(error);
});
} else {
throw error;
}
Logger.error(
`Error processing ${event.name} in ${event.service}`,
error,
event
);
});
}
});
@ -72,14 +67,11 @@ export default function init(app: Koa, server?: http.Server) {
const event = job.data;
EmailsProcessor.on(event).catch((error) => {
if (process.env.SENTRY_DSN) {
Sentry.withScope(function (scope) {
scope.setExtra("event", event);
Sentry.captureException(error);
});
} else {
throw error;
}
Logger.error(
`Error processing ${event.name} in emails processor`,
error,
event
);
});
});
}