From 7f5d3df59cb4ee7d491c622d221b877522456bae Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Tue, 20 Feb 2024 14:41:33 +0100 Subject: [PATCH] docs: add ADR for logging with error object (#6249) I've held an internal knowledge sharing session on this already. If someone can think of a better phrasing for the background, I'm all ears. I think it's just nice to have this documented, so people remember that our logging framework already has a good way to format errors when you use the API `logger.error("", e)` --- .../contributing/ADRs/overarching/logging.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 website/docs/contributing/ADRs/overarching/logging.md diff --git a/website/docs/contributing/ADRs/overarching/logging.md b/website/docs/contributing/ADRs/overarching/logging.md new file mode 100644 index 0000000000..e4da4bbbcb --- /dev/null +++ b/website/docs/contributing/ADRs/overarching/logging.md @@ -0,0 +1,40 @@ +--- +title: "ADR: Logging errors" +--- + +## Background + +After debugging multiple errors over the last few years, we've consistently found that when something goes wrong, we +would like as much context as possible to debug faster. + +## Decision + +When we log at the error level, we should give the person debugging as much information as possible. +As such, please include the error as a second argument to `logger.error`. This will include the stacktrace in the log +message and make it a lot easier to figure out where the error is coming from + +### Change + +#### Previously + +```typescript +function errors() { + try { + } catch (e) { + this.logger.error(`Something went wrong {$e}`); + } +} +``` + +to + +#### Now (Recommended) + +```typescript +function errors() { + try { + } catch (e) { + this.logger.error('Something went wrong', e); + } +} +```