diff --git a/src/console-log-appender.ts b/src/console-log-appender.ts index 4e43c7f..8c67eea 100644 --- a/src/console-log-appender.ts +++ b/src/console-log-appender.ts @@ -1,14 +1,14 @@ import { + flattenMessage, LogLevel, LogMessage, LogMessageFormatter, - structuredLogMessageFormatter } from './log-message'; import { LogAppender } from './log-appender'; export class ConsoleLogAppender implements LogAppender { public threshold = LogLevel.ALL; - public formatter = structuredLogMessageFormatter; + public formatter: LogMessageFormatter = flattenMessage constructor(threshold?: LogLevel, formatter?: LogMessageFormatter) { if (threshold) { diff --git a/src/log-message.ts b/src/log-message.ts index 81956b6..0d6191d 100644 --- a/src/log-message.ts +++ b/src/log-message.ts @@ -50,12 +50,12 @@ export type FlattenedLogMessage = Record; * * Should result after flattening in a structured log message like: * ```json - * {"scope":"example","level":4,"foo":"bar","baz":"qux","timestamp":"2020-01-01T00:00:00.000Z"} + * {"scope":"example","level":"INFO","foo":"bar","baz":"qux","timestamp":"2020-01-01T00:00:00.000Z"} * ``` */ export function flattenMessage(msg: LogMessage): FlattenedLogMessage { if (typeof msg.message === 'string') { - return { ...msg }; + return { ...msg, level: LogLevel[msg.level] }; } else { const { message, ...rest } = msg; return { @@ -67,10 +67,11 @@ export function flattenMessage(msg: LogMessage): FlattenedLogMessage { 'timestamp', ]), ...rest, + level: LogLevel[msg.level], }; } } -export type LogMessageFormatter = (msg: LogMessage) => string; +export type LogMessageFormatter = (msg: LogMessage) => string | FlattenedLogMessage; export function structuredLogMessageFormatter(msg: LogMessage): string { return JSON.stringify(flattenMessage(msg));