Skip to content

Commit ea7a6b8

Browse files
committed
fix logs formatter
1 parent 7a8436c commit ea7a6b8

3 files changed

Lines changed: 16 additions & 24 deletions

File tree

src/vs/code/electron-main/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ function createServices(args: ParsedArgs): IInstantiationService {
5353
const logService = new MultiplexLogService([legacyLogService, spdlogService]);
5454
registerGlobalLogService(logService);
5555

56-
logService.info('main', process.argv);
56+
logService.info('main', JSON.stringify(args));
5757

5858
// Eventually cleanup
5959
setTimeout(() => spdlogService.cleanup().then(null, err => console.error(err)), 10000);

src/vs/platform/log/node/spdlogService.ts

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ export class SpdLogService implements ILogService {
2020

2121
private logger: RotatingLogger;
2222
private disposables: IDisposable[] = [];
23-
private formatRegexp = /{(\d+)}/g;
2423

2524
constructor(
2625
processName: string,
@@ -83,24 +82,16 @@ export class SpdLogService implements ILogService {
8382
this.disposables = dispose(this.disposables);
8483
}
8584

86-
private format(value: string, ...args: any[]): string {
87-
if (args.length) {
88-
value = value.replace(this.formatRegexp, (match, group) => {
89-
let idx = parseInt(group, 10);
90-
return isNaN(idx) || idx < 0 || idx >= args.length ?
91-
match :
92-
this.toStringValue(args[idx]);
93-
});
94-
}
95-
return value;
96-
}
97-
98-
private toStringValue(value: any): string {
99-
if (typeof value === 'object') {
100-
try {
101-
return JSON.stringify(value);
102-
} catch (e) { }
103-
}
104-
return value;
85+
private format(value: string, args: any[] = []): string {
86+
const strs = args.map(a => {
87+
if (typeof a === 'object') {
88+
try {
89+
return JSON.stringify(a);
90+
} catch (e) { }
91+
}
92+
return a;
93+
});
94+
95+
return [value, ...strs].join(' ');
10596
}
10697
}

src/vs/workbench/electron-browser/main.contribution.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,15 @@ registerCommands();
3131
const viewCategory = nls.localize('view', "View");
3232
const helpCategory = nls.localize('help', "Help");
3333
const fileCategory = nls.localize('file', "File");
34+
const logCategory = nls.localize('logs', "Logs");
3435
const workbenchActionsRegistry = Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions);
3536
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(NewWindowAction, NewWindowAction.ID, NewWindowAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_N }), 'New Window');
3637
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(CloseCurrentWindowAction, CloseCurrentWindowAction.ID, CloseCurrentWindowAction.LABEL, { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KEY_W }), 'Close Window');
3738
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(SwitchWindow, SwitchWindow.ID, SwitchWindow.LABEL, { primary: null, mac: { primary: KeyMod.WinCtrl | KeyCode.KEY_W } }), 'Switch Window...');
3839
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(QuickSwitchWindow, QuickSwitchWindow.ID, QuickSwitchWindow.LABEL), 'Quick Switch Window...');
39-
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ShowLogsAction, ShowLogsAction.ID, ShowLogsAction.LABEL), 'Show Logs...');
40-
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(OpenLogsFolderAction, OpenLogsFolderAction.ID, OpenLogsFolderAction.LABEL), 'Open Log Folder');
41-
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(SetLogLevelAction, SetLogLevelAction.ID, SetLogLevelAction.LABEL), 'Set Log Level');
40+
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(ShowLogsAction, ShowLogsAction.ID, ShowLogsAction.LABEL), 'Logs: Show Logs...', logCategory);
41+
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(OpenLogsFolderAction, OpenLogsFolderAction.ID, OpenLogsFolderAction.LABEL), 'Logs: Open Log Folder', logCategory);
42+
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(SetLogLevelAction, SetLogLevelAction.ID, SetLogLevelAction.LABEL), 'Logs: Set Log Level', logCategory);
4243

4344
workbenchActionsRegistry.registerWorkbenchAction(new SyncActionDescriptor(QuickOpenRecentAction, QuickOpenRecentAction.ID, QuickOpenRecentAction.LABEL), 'File: Quick Open Recent...', fileCategory);
4445

0 commit comments

Comments
 (0)