From cc3d25b3f6f0150ab824bbb494b38d063671bbc9 Mon Sep 17 00:00:00 2001 From: kevinlul <6320810+kevinlul@users.noreply.github.com> Date: Wed, 20 Mar 2024 21:06:43 -0400 Subject: [PATCH] JSON logging --- src/Command.ts | 2 +- src/got.ts | 36 ++++++++++++++++++++---------------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/Command.ts b/src/Command.ts index 321c5bde..1e65bf88 100644 --- a/src/Command.ts +++ b/src/Command.ts @@ -43,7 +43,7 @@ export abstract class Command { this.metrics.writeCommand(interaction, latency); } catch (error) { this.metrics.writeCommand(interaction, -1); - this.logger.error(serialiseInteraction(interaction), error); + this.logger.error(serialiseInteraction(interaction, { error, stack: (error as Error).stack }), error); let method; if (interaction.replied) { method = "followUp" as const; diff --git a/src/got.ts b/src/got.ts index 84dea1ab..3602b1c0 100644 --- a/src/got.ts +++ b/src/got.ts @@ -30,25 +30,29 @@ export default function createGotClient(): Got { hooks: { beforeRequest: [ options => - logger.info({ - event: "beforeRequest", - method: options.method, - url: options.url.toString(), - timeout: options.timeout, - headers: options.headers - }) + logger.info( + JSON.stringify({ + event: "beforeRequest", + method: options.method, + url: options.url, + timeout: options.timeout, + headers: options.headers + }) + ) ], afterResponse: [ response => ( - logger.info({ - event: "afterResponse", - method: response.request.options.method, - url: response.requestUrl, - code: response.statusCode, - timings: response.timings, - headers: response.rawHeaders, - body: response.body - }), + logger.info( + JSON.stringify({ + event: "afterResponse", + method: response.request.options.method, + url: response.requestUrl, + code: response.statusCode, + timings: response.timings, + headers: response.rawHeaders, + body: response.body + }) + ), response ) ]