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) {