Removed duplicate log level from the log.

Print CLI version at start-up.

Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
Akos Kitta 2019-10-08 10:14:44 +02:00
parent 1dda5dd95b
commit cebe15ef69
2 changed files with 9 additions and 5 deletions

View File

@ -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) {

View File

@ -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 {