支持集成第三方日志库 (#190)

* 更新 ILogger 签名

改为纯可变参数兼容主流日志库

* 拆分日志类型与实现

* 新增 setLoggerFactory 方法

* tweak

* getLoggerName 返回类名,默认情况下子类无需重写

* 更新日志说明文档

* 增加测试

* 使用 getSystemInstanceTypeName,避免压缩导致获取类名不一致
This commit is contained in:
LINGYE
2025-10-26 11:53:46 +08:00
committed by GitHub
parent 3ea55303dc
commit 0cd99209c4
11 changed files with 449 additions and 247 deletions

View File

@@ -847,10 +847,10 @@ export abstract class EntitySystem<
/**
* 获取Logger名称
* 子类可以重写此方法来自定义logger名称
* 默认返回类的构造函数名称, 子类可以重写此方法来自定义logger名称
*/
protected getLoggerName(): string {
return 'EntitySystem';
return getSystemInstanceTypeName(this);
}
/**
@@ -1093,4 +1093,4 @@ export abstract class EntitySystem<
}
return true;
}
}
}

View File

@@ -6,6 +6,7 @@ import { createLogger } from '../../Utils/Logger';
import type { IComponent } from '../../Types';
import { PlatformManager } from '../../Platform/PlatformManager';
import type { IPlatformAdapter, PlatformWorker } from '../../Platform/IPlatformAdapter';
import { getSystemInstanceTypeName } from '../Decorators';
/**
* Worker处理函数类型
@@ -853,7 +854,7 @@ export abstract class WorkerEntitySystem<TEntityData = any> extends EntitySystem
}
protected override getLoggerName(): string {
return 'WorkerEntitySystem';
return getSystemInstanceTypeName(this);
}
}
@@ -1007,4 +1008,4 @@ class PlatformWorkerPool {
this.taskQueue.length = 0;
this.busyWorkers.clear();
}
}
}