Merge pull request #67 from foxling/fix/global-log-level

修复 setGlobalLogLevel 不影响新创建 logger 的问题
This commit is contained in:
YHH
2025-09-24 15:54:28 +08:00
committed by GitHub

View File

@@ -287,9 +287,12 @@ export class LoggerManager {
private static _instance: LoggerManager; private static _instance: LoggerManager;
private _loggers = new Map<string, ILogger>(); private _loggers = new Map<string, ILogger>();
private _defaultLogger: ILogger; private _defaultLogger: ILogger;
private _defaultLevel = LogLevel.Info;
private constructor() { private constructor() {
this._defaultLogger = new ConsoleLogger(); this._defaultLogger = new ConsoleLogger({
level: this._defaultLevel,
});
} }
/** /**
@@ -316,7 +319,7 @@ export class LoggerManager {
if (!this._loggers.has(name)) { if (!this._loggers.has(name)) {
const logger = new ConsoleLogger({ const logger = new ConsoleLogger({
prefix: name, prefix: name,
level: LogLevel.Info level: this._defaultLevel,
}); });
this._loggers.set(name, logger); this._loggers.set(name, logger);
} }
@@ -338,6 +341,8 @@ export class LoggerManager {
* @param level 日志级别 * @param level 日志级别
*/ */
public setGlobalLevel(level: LogLevel): void { public setGlobalLevel(level: LogLevel): void {
this._defaultLevel = level;
if (this._defaultLogger instanceof ConsoleLogger) { if (this._defaultLogger instanceof ConsoleLogger) {
this._defaultLogger.setLevel(level); this._defaultLogger.setLevel(level);
} }