diff --git a/src/manager.ts b/src/manager.ts index 1d6828d..ff73f5d 100644 --- a/src/manager.ts +++ b/src/manager.ts @@ -79,8 +79,10 @@ export class Manager { if (existing instanceof Placeholder) { rv = new (this._loggerClass ?? loggerClass)(scope, NOTSET); + rv.manager = this; this.loggers[scope] = rv; this._fixupChildren(existing, rv); + this._fixupParents(rv); } else { rv = existing; @@ -88,6 +90,7 @@ export class Manager { } else { rv = new (this._loggerClass ?? loggerClass)(scope, NOTSET); + rv.manager = this; this.loggers[scope] = rv; this._fixupParents(rv); } @@ -168,7 +171,9 @@ export class Manager { */ public clear() { Object.values(this.loggers).forEach((logger) => { - logger.clear() + if (!(logger instanceof Placeholder)) { + logger.clear(); + } }); } }