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 {