diff options
Diffstat (limited to 'src/logger/util.ts')
-rw-r--r-- | src/logger/util.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/logger/util.ts b/src/logger/util.ts new file mode 100644 index 000000000..f1e12b164 --- /dev/null +++ b/src/logger/util.ts @@ -0,0 +1,29 @@ +import {LogLevel, Metadata, Serializable} from '#/logger/types' + +export const enabledLogLevels: { + [key in LogLevel]: LogLevel[] +} = { + [LogLevel.Debug]: [ + LogLevel.Debug, + LogLevel.Info, + LogLevel.Log, + LogLevel.Warn, + LogLevel.Error, + ], + [LogLevel.Info]: [LogLevel.Info, LogLevel.Log, LogLevel.Warn, LogLevel.Error], + [LogLevel.Log]: [LogLevel.Log, LogLevel.Warn, LogLevel.Error], + [LogLevel.Warn]: [LogLevel.Warn, LogLevel.Error], + [LogLevel.Error]: [LogLevel.Error], +} + +export function prepareMetadata( + metadata: Metadata, +): Record<string, Serializable> { + return Object.keys(metadata).reduce((acc, key) => { + let value = metadata[key] + if (value instanceof Error) { + value = value.toString() + } + return {...acc, [key]: value} + }, {}) +} |