From f5859e09ab093d2585dfb455017834e9043e2cea Mon Sep 17 00:00:00 2001 From: Tarun Sukhani Date: Thu, 5 Feb 2026 12:55:16 +0000 Subject: [PATCH] logging: fix inverted levelToMinLevel mapping vs tslog v4 level IDs --- src/logging/levels.ts | 13 +++++++------ src/logging/logger.ts | 2 +- src/logging/subsystem.ts | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/logging/levels.ts b/src/logging/levels.ts index 0ea3608adf9..3c6f4ed7e3d 100644 --- a/src/logging/levels.ts +++ b/src/logging/levels.ts @@ -16,14 +16,15 @@ export function normalizeLogLevel(level?: string, fallback: LogLevel = "info") { } export function levelToMinLevel(level: LogLevel): number { - // tslog level ordering: fatal=0, error=1, warn=2, info=3, debug=4, trace=5 + // Matches tslog v4 level IDs: higher number = more severe. + // tslog logs messages with logLevelId >= minLevel. const map: Record = { - fatal: 0, - error: 1, - warn: 2, + trace: 1, + debug: 2, info: 3, - debug: 4, - trace: 5, + warn: 4, + error: 5, + fatal: 6, silent: Number.POSITIVE_INFINITY, }; return map[level]; diff --git a/src/logging/logger.ts b/src/logging/logger.ts index a5403564c0b..4602ab08b78 100644 --- a/src/logging/logger.ts +++ b/src/logging/logger.ts @@ -96,7 +96,7 @@ export function isFileLogLevelEnabled(level: LogLevel): boolean { if (settings.level === "silent") { return false; } - return levelToMinLevel(level) <= levelToMinLevel(settings.level); + return levelToMinLevel(level) >= levelToMinLevel(settings.level); } function buildLogger(settings: ResolvedSettings): TsLogger { diff --git a/src/logging/subsystem.ts b/src/logging/subsystem.ts index 89671b7b90a..14155430c7d 100644 --- a/src/logging/subsystem.ts +++ b/src/logging/subsystem.ts @@ -30,7 +30,7 @@ function shouldLogToConsole(level: LogLevel, settings: { level: LogLevel }): boo } const current = levelToMinLevel(level); const min = levelToMinLevel(settings.level); - return current <= min; + return current >= min; } type ChalkInstance = InstanceType;