chore(logging): allow mixins to be provided to observability.getLogger (#1971)
This commit is contained in:
Родитель
229f31040d
Коммит
2b3a26b7bf
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче