From cebe15ef69f446ca6b7e0bb43983320613ef2769 Mon Sep 17 00:00:00 2001 From: Akos Kitta Date: Tue, 8 Oct 2019 10:14:44 +0200 Subject: [PATCH] Removed duplicate log level from the log. Print CLI version at start-up. Signed-off-by: Akos Kitta --- arduino-ide-extension/src/node/arduino-daemon.ts | 3 ++- arduino-ide-extension/src/node/daemon-log.ts | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/arduino-ide-extension/src/node/arduino-daemon.ts b/arduino-ide-extension/src/node/arduino-daemon.ts index f17718d6..1ad8ebb7 100644 --- a/arduino-ide-extension/src/node/arduino-daemon.ts +++ b/arduino-ide-extension/src/node/arduino-daemon.ts @@ -32,7 +32,8 @@ export class ArduinoDaemon implements BackendApplicationContribution { try { if (!this.cliContribution.debugCli) { const executable = await this.cli.getExecPath(); - this.logger.info(`>>> Starting 'arduino-cli' daemon... [${executable}]`); + const version = await this.cli.getVersion(); + this.logger.info(`>>> Starting ${version.toLocaleLowerCase()} daemon from ${executable}...`); const daemon = exec(`${executable} daemon -v --log-level info --format json --log-format json`, { encoding: 'utf8', maxBuffer: 1024 * 1024 }, (err, stdout, stderr) => { if (err || stderr) { diff --git a/arduino-ide-extension/src/node/daemon-log.ts b/arduino-ide-extension/src/node/daemon-log.ts index e8ddd9ab..872058a6 100644 --- a/arduino-ide-extension/src/node/daemon-log.ts +++ b/arduino-ide-extension/src/node/daemon-log.ts @@ -83,7 +83,9 @@ export namespace DaemonLog { export function log(logger: ILogger, logMessages: string): void { const parsed = parse(logMessages); for (const log of parsed) { - logger.log(toLogLevel(log), toMessage(log)); + const logLevel = toLogLevel(log); + const message = toMessage(log, { omitLogLevel: true }); + logger.log(logLevel, message); } } @@ -109,12 +111,13 @@ export namespace DaemonLog { export function toPrettyString(logMessages: string): string { const parsed = parse(logMessages); - return parsed.map(toMessage).join('\n') + '\n'; + return parsed.map(log => toMessage(log)).join('\n') + '\n'; } - function toMessage(log: DaemonLog): string { + function toMessage(log: DaemonLog, options: { omitLogLevel: boolean } = { omitLogLevel: false }): string { const details = Object.keys(log).filter(key => key !== 'msg' && key !== 'level' && key !== 'time').map(key => toDetails(log, key)).join(', '); - return `[${log.level.toUpperCase()}] ${log.msg}${!!details ? ` [${details}]` : ''}` + const logLevel = options.omitLogLevel ? '' : `[${log.level.toUpperCase()}] `; + return `${logLevel}${log.msg}${!!details ? ` [${details}]` : ''}` } function toDetails(log: DaemonLog, key: string): string {