From 212a85012c4684eee673d3b6c1f3209263f02d7e Mon Sep 17 00:00:00 2001 From: Artem Derevnjuk Date: Fri, 15 Nov 2024 13:55:48 +0400 Subject: [PATCH] feat(*): write to stderr for errors and warnings (#613) BREAKING CHANGE: Warning logs are now written to stderr instead of stdout. Supersedes: #611 Co-authored-by: Maksadbek --- src/Utils/Logger.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Utils/Logger.ts b/src/Utils/Logger.ts index fdc341ff..1620f075 100644 --- a/src/Utils/Logger.ts +++ b/src/Utils/Logger.ts @@ -80,8 +80,18 @@ export class Logger { } private write(message: string, level: LogLevel, ...args: any[]): void { + const logMessage = `${this.formatHeader(level)} - ${message}`; + + if (level <= LogLevel.WARN) { + // write to stderr for errors and warnings + // eslint-disable-next-line no-console + console.error(logMessage, ...args); + + return; + } + // eslint-disable-next-line no-console - console.log(`${this.formatHeader(level)} - ${message}`, ...args); + console.log(logMessage, ...args); } private formatHeader(level: LogLevel): string {