From d62bf9f7f9dc224747e1d4f33600a88b54755f1a Mon Sep 17 00:00:00 2001 From: YHH <359807859@qq.com> Date: Mon, 29 Sep 2025 09:53:13 +0800 Subject: [PATCH] =?UTF-8?q?entitysytem=E7=9A=84logger=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9B=B4=E6=94=B9=EF=BC=8C=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E9=87=8D=E5=86=99=E5=AE=9E=E7=8E=B0getLoggerName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/ECS/Systems/EntitySystem.ts | 13 ++++++++++++- packages/core/src/ECS/Systems/WorkerEntitySystem.ts | 6 ++++-- .../network-client/src/systems/ClientSyncSystem.ts | 8 ++++++-- .../network-server/src/systems/SyncVarSystem.ts | 8 ++++++-- 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/packages/core/src/ECS/Systems/EntitySystem.ts b/packages/core/src/ECS/Systems/EntitySystem.ts index 95667593..2db8b906 100644 --- a/packages/core/src/ECS/Systems/EntitySystem.ts +++ b/packages/core/src/ECS/Systems/EntitySystem.ts @@ -51,7 +51,7 @@ export abstract class EntitySystem implements ISystemBase { private _matcher: Matcher; private _eventListeners: EventListenerRecord[]; private _scene: Scene | null; - protected logger = createLogger('EntitySystem'); + protected logger: ReturnType; /** @@ -136,6 +136,9 @@ export abstract class EntitySystem implements ISystemBase { this._entityIdMapVersion = -1; this._entityIdMapSize = 0; + // 初始化logger + this.logger = createLogger(this.getLoggerName()); + this._entityCache = { frame: null, @@ -773,6 +776,14 @@ export abstract class EntitySystem implements ISystemBase { this.onDestroy(); } + /** + * 获取Logger名称 + * 子类可以重写此方法来自定义logger名称 + */ + protected getLoggerName(): string { + return 'EntitySystem'; + } + /** * 用户销毁回调 * diff --git a/packages/core/src/ECS/Systems/WorkerEntitySystem.ts b/packages/core/src/ECS/Systems/WorkerEntitySystem.ts index abdca6d4..addb749d 100644 --- a/packages/core/src/ECS/Systems/WorkerEntitySystem.ts +++ b/packages/core/src/ECS/Systems/WorkerEntitySystem.ts @@ -199,8 +199,6 @@ export abstract class WorkerEntitySystem extends EntitySystem constructor(matcher?: Matcher, config: WorkerSystemConfig = {}) { super(matcher); - this.logger = createLogger('WorkerEntitySystem'); - // 验证和调整 worker 数量,确保不超过系统最大值 const requestedWorkerCount = config.workerCount ?? this.getMaxSystemWorkerCount(); const maxSystemWorkerCount = this.getMaxSystemWorkerCount(); @@ -827,6 +825,10 @@ export abstract class WorkerEntitySystem extends EntitySystem this.workerPool = null; } } + + protected override getLoggerName(): string { + return 'WorkerEntitySystem'; + } } /** diff --git a/packages/network-client/src/systems/ClientSyncSystem.ts b/packages/network-client/src/systems/ClientSyncSystem.ts index b7e5454c..67fd4c0a 100644 --- a/packages/network-client/src/systems/ClientSyncSystem.ts +++ b/packages/network-client/src/systems/ClientSyncSystem.ts @@ -87,7 +87,6 @@ interface ClientSyncStats { * 负责接收和应用服务端同步数据,处理本地预测和插值 */ export class ClientSyncSystem extends EntitySystem { - private logger = createLogger('ClientSyncSystem'); private config: ClientSyncSystemConfig; private syncVarManager: SyncVarManager; private serializer: SyncVarSerializer; @@ -304,11 +303,16 @@ export class ClientSyncSystem extends EntitySystem { /** * 销毁系统 */ - public destroy(): void { + public override destroy(): void { this.remoteEntities.clear(); this.predictions.clear(); this.interpolations.clear(); this.localEntityMap.clear(); + super.destroy(); + } + + protected override getLoggerName(): string { + return 'ClientSyncSystem'; } /** diff --git a/packages/network-server/src/systems/SyncVarSystem.ts b/packages/network-server/src/systems/SyncVarSystem.ts index 34df3360..c3306244 100644 --- a/packages/network-server/src/systems/SyncVarSystem.ts +++ b/packages/network-server/src/systems/SyncVarSystem.ts @@ -69,7 +69,6 @@ interface SyncSystemStats { * 负责收集所有SyncVar变化并向客户端同步 */ export class SyncVarSystem extends EntitySystem { - private logger = createLogger('SyncVarSystem'); private config: SyncVarSystemConfig; private syncVarManager: SyncVarManager; private serializer: SyncVarSerializer; @@ -239,10 +238,15 @@ export class SyncVarSystem extends EntitySystem { /** * 销毁系统 */ - public destroy(): void { + public override destroy(): void { this.stopSyncTimer(); this.clientStates.clear(); this.pendingBatches.length = 0; + super.destroy(); + } + + protected override getLoggerName(): string { + return 'SyncVarSystem'; } /**