diff --git a/.changeset/shy-bikes-roll.md b/.changeset/shy-bikes-roll.md new file mode 100644 index 0000000000..cb2c0950a1 --- /dev/null +++ b/.changeset/shy-bikes-roll.md @@ -0,0 +1,6 @@ +--- +"@human-protocol/logger": minor +--- + +fix: logger name in child loggers +feat: logger name is public readonly diff --git a/packages/libs/logger/src/abstract-logger.ts b/packages/libs/logger/src/abstract-logger.ts index fdba1c06d7..ca4802efca 100644 --- a/packages/libs/logger/src/abstract-logger.ts +++ b/packages/libs/logger/src/abstract-logger.ts @@ -55,7 +55,7 @@ function serializeError(error: ErrorLike) { abstract class LoggerWrapper implements Logger { protected readonly bindings: LogMeta; - private readonly name?: string; + readonly name?: string; constructor(bindings: LogMeta = {}) { if (!isPlainObject(bindings)) { @@ -92,7 +92,10 @@ abstract class LoggerWrapper implements Logger { throw new Error('Log bindings required for child logger'); } - return this.createChild(bindings); + return this.createChild({ + name: this.name, + ...bindings, + }); } protected abstract createChild(bindings: LogMeta): Logger; diff --git a/packages/libs/logger/src/types.ts b/packages/libs/logger/src/types.ts index 106be0c921..01ee944f02 100644 --- a/packages/libs/logger/src/types.ts +++ b/packages/libs/logger/src/types.ts @@ -23,6 +23,7 @@ type LogFn = { export type ChildBindings = { name?: string } & LogMeta; export interface Logger { + name?: string; debug: LogFn; info: LogFn; warn: LogFn;