chore(logging): allow mixins to be provided to observability.getLogger (#1971)

This commit is contained in:
Iain Sproat 2024-01-15 12:26:30 +00:00 коммит произвёл GitHub
Родитель 229f31040d
Коммит 2b3a26b7bf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -3,8 +3,13 @@ import type { LoggerOptions } from 'pino'
import { toClef, clefLevels } from './pinoClef'
let logger: pino.Logger
type MixinFn = (mergeObject: object, level: number) => object
export function getLogger(logLevel = 'info', pretty = false): pino.Logger {
export function getLogger(
logLevel = 'info',
pretty = false,
mixin?: MixinFn
): pino.Logger {
if (logger) return logger
const pinoOptions: LoggerOptions = {
@ -22,6 +27,7 @@ export function getLogger(logLevel = 'info', pretty = false): pino.Logger {
},
log: (logObject) => (pretty ? logObject : toClef(logObject))
},
mixin,
// when not pretty, to produce a clef format, we need the message to be the message template key
messageKey: pretty ? 'msg' : '@mt',
level: logLevel,