From 4b343e513eca165601163123e82eb6c88fc8c9bd Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Wed, 26 Feb 2025 21:19:11 -0600 Subject: [PATCH] Clean up metadata before passing to Bitdrift --- src/logger/transports/bitdrift.ts | 3 ++- src/logger/types.ts | 6 ++---- src/logger/util.ts | 6 ++++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/logger/transports/bitdrift.ts b/src/logger/transports/bitdrift.ts index 1a02e10528..d9e3481565 100644 --- a/src/logger/transports/bitdrift.ts +++ b/src/logger/transports/bitdrift.ts @@ -5,6 +5,7 @@ import { warn as bdWarn, } from '#/lib/bitdrift' import {LogLevel, Transport} from '#/logger/types' +import {prepareMetadata} from '#/logger/util' const logFunctions = { [LogLevel.Debug]: bdDebug, @@ -21,5 +22,5 @@ export const bitdriftTransport: Transport = ( metadata, ) => { const log = logFunctions[level] - log(`(${context}) ${message}`, metadata) + log(`(${context}) ${message}`, prepareMetadata(metadata)) } diff --git a/src/logger/types.ts b/src/logger/types.ts index 7a2c9be49d..6e076aefa5 100644 --- a/src/logger/types.ts +++ b/src/logger/types.ts @@ -1,5 +1,3 @@ -import type {Sentry} from '#/logger/sentry/lib' - /** * DO NOT IMPORT THIS DIRECTLY * @@ -64,8 +62,8 @@ export type Metadata = { * Any additional data, passed through to Sentry as `extra` param on * exceptions, or the `data` param on breadcrumbs. */ - [key: string]: Serializable -} & Parameters[1] + [key: string]: Serializable | Error | unknown +} export type Serializable = | string diff --git a/src/logger/util.ts b/src/logger/util.ts index 7bca0f4364..f1e12b164a 100644 --- a/src/logger/util.ts +++ b/src/logger/util.ts @@ -1,4 +1,4 @@ -import {LogLevel, Metadata} from '#/logger/types' +import {LogLevel, Metadata, Serializable} from '#/logger/types' export const enabledLogLevels: { [key in LogLevel]: LogLevel[] @@ -16,7 +16,9 @@ export const enabledLogLevels: { [LogLevel.Error]: [LogLevel.Error], } -export function prepareMetadata(metadata: Metadata): Metadata { +export function prepareMetadata( + metadata: Metadata, +): Record { return Object.keys(metadata).reduce((acc, key) => { let value = metadata[key] if (value instanceof Error) {