mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-27 12:04:04 +01:00
Introduce output log channel for configuration sync
This commit is contained in:
@@ -7,4 +7,5 @@ export const mainLogChannelId = 'mainLog';
|
||||
export const sharedLogChannelId = 'sharedLog';
|
||||
export const rendererLogChannelId = 'rendererLog';
|
||||
export const extHostLogChannelId = 'extHostLog';
|
||||
export const telemetryLogChannelId = 'telemetryLog';
|
||||
export const telemetryLogChannelId = 'telemetryLog';
|
||||
export const userDataSyncLogChannelId = 'userDataSyncLog';
|
||||
|
||||
@@ -22,6 +22,7 @@ import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
|
||||
import { isWeb } from 'vs/base/common/platform';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { LogsDataCleaner } from 'vs/workbench/contrib/logs/common/logsDataCleaner';
|
||||
import { IProductService } from 'vs/platform/product/common/productService';
|
||||
|
||||
const workbenchActionsRegistry = Registry.as<IWorkbenchActionRegistry>(WorkbenchActionExtensions.WorkbenchActions);
|
||||
const devCategory = nls.localize('developer', "Developer");
|
||||
@@ -33,9 +34,11 @@ class LogOutputChannels extends Disposable implements IWorkbenchContribution {
|
||||
@IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService,
|
||||
@ILogService private readonly logService: ILogService,
|
||||
@IFileService private readonly fileService: IFileService,
|
||||
@IInstantiationService private readonly instantiationService: IInstantiationService
|
||||
@IInstantiationService private readonly instantiationService: IInstantiationService,
|
||||
@IProductService private readonly productService: IProductService
|
||||
) {
|
||||
super();
|
||||
this.registerCommonContributions();
|
||||
if (isWeb) {
|
||||
this.registerWebContributions();
|
||||
} else {
|
||||
@@ -43,8 +46,14 @@ class LogOutputChannels extends Disposable implements IWorkbenchContribution {
|
||||
}
|
||||
}
|
||||
|
||||
private registerCommonContributions(): void {
|
||||
if (this.productService.settingsSyncStoreUrl) {
|
||||
this.registerLogChannel(Constants.userDataSyncLogChannelId, nls.localize('userDataSyncLog', "Configuration Sync"), this.environmentService.userDataSyncLogResource);
|
||||
}
|
||||
this.registerLogChannel(Constants.rendererLogChannelId, nls.localize('rendererLog', "Window"), this.environmentService.logFile);
|
||||
}
|
||||
|
||||
private registerWebContributions(): void {
|
||||
Registry.as<IOutputChannelRegistry>(OutputExt.OutputChannels).registerChannel({ id: Constants.rendererLogChannelId, label: nls.localize('rendererLog', "Window"), file: this.environmentService.logFile, log: true });
|
||||
this.instantiationService.createInstance(LogsDataCleaner);
|
||||
|
||||
const workbenchActionsRegistry = Registry.as<IWorkbenchActionRegistry>(WorkbenchActionExtensions.WorkbenchActions);
|
||||
@@ -55,7 +64,6 @@ class LogOutputChannels extends Disposable implements IWorkbenchContribution {
|
||||
private registerNativeContributions(): void {
|
||||
this.registerLogChannel(Constants.mainLogChannelId, nls.localize('mainLog', "Main"), URI.file(join(this.environmentService.logsPath, `main.log`)));
|
||||
this.registerLogChannel(Constants.sharedLogChannelId, nls.localize('sharedLog', "Shared"), URI.file(join(this.environmentService.logsPath, `sharedprocess.log`)));
|
||||
this.registerLogChannel(Constants.rendererLogChannelId, nls.localize('rendererLog', "Window"), this.environmentService.logFile);
|
||||
|
||||
const registerTelemetryChannel = (level: LogLevel) => {
|
||||
if (level === LogLevel.Trace && !Registry.as<IOutputChannelRegistry>(OutputExt.OutputChannels).getChannel(Constants.telemetryLogChannelId)) {
|
||||
@@ -76,7 +84,7 @@ class LogOutputChannels extends Disposable implements IWorkbenchContribution {
|
||||
|
||||
const watcher = this.fileService.watch(dirname(file));
|
||||
const disposable = this.fileService.onFileChanges(e => {
|
||||
if (e.contains(file, FileChangeType.ADDED)) {
|
||||
if (e.contains(file, FileChangeType.ADDED) || e.contains(file, FileChangeType.UPDATED)) {
|
||||
watcher.dispose();
|
||||
disposable.dispose();
|
||||
outputChannelRegistry.registerChannel({ id, label, file, log: true });
|
||||
|
||||
@@ -85,6 +85,7 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
|
||||
this.userRoamingDataHome = URI.file('/User').with({ scheme: Schemas.userData });
|
||||
this.settingsResource = joinPath(this.userRoamingDataHome, 'settings.json');
|
||||
this.settingsSyncPreviewResource = joinPath(this.userRoamingDataHome, '.settings.json');
|
||||
this.userDataSyncLogResource = joinPath(options.logsPath, 'userDataSync.log');
|
||||
this.keybindingsResource = joinPath(this.userRoamingDataHome, 'keybindings.json');
|
||||
this.keyboardLayoutResource = joinPath(this.userRoamingDataHome, 'keyboardLayout.json');
|
||||
this.localeResource = joinPath(this.userRoamingDataHome, 'locale.json');
|
||||
@@ -142,10 +143,11 @@ export class BrowserWorkbenchEnvironmentService implements IWorkbenchEnvironment
|
||||
appSettingsHome: URI;
|
||||
userRoamingDataHome: URI;
|
||||
settingsResource: URI;
|
||||
settingsSyncPreviewResource: URI;
|
||||
keybindingsResource: URI;
|
||||
keyboardLayoutResource: URI;
|
||||
localeResource: URI;
|
||||
settingsSyncPreviewResource: URI;
|
||||
userDataSyncLogResource: URI;
|
||||
machineSettingsHome: URI;
|
||||
machineSettingsResource: URI;
|
||||
globalStorageHome: string;
|
||||
|
||||
@@ -62,7 +62,10 @@ import { IExtensionManagementService } from 'vs/platform/extensionManagement/com
|
||||
import { ExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/extensionManagementService';
|
||||
import { ITunnelService } from 'vs/platform/remote/common/tunnel';
|
||||
import { NoOpTunnelService } from 'vs/platform/remote/common/tunnelService';
|
||||
import { IUserDataSyncStoreService, IUserDataSyncService } from 'vs/platform/userDataSync/common/userDataSync';
|
||||
import { ILoggerService } from 'vs/platform/log/common/log';
|
||||
import { FileLoggerService } from 'vs/platform/log/common/fileLogService';
|
||||
import { IUserDataSyncStoreService, IUserDataSyncService, IUserDataSyncLogService } from 'vs/platform/userDataSync/common/userDataSync';
|
||||
import { UserDataSyncLogService } from 'vs/platform/userDataSync/common/userDataSyncLog';
|
||||
import { UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
|
||||
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
|
||||
import { IWorkspaceEditingService } from 'vs/workbench/services/workspace/common/workspaceEditing';
|
||||
@@ -75,6 +78,8 @@ registerSingleton(IAccessibilityService, BrowserAccessibilityService, true);
|
||||
registerSingleton(ILifecycleService, BrowserLifecycleService);
|
||||
registerSingleton(IContextMenuService, ContextMenuService);
|
||||
registerSingleton(ITunnelService, NoOpTunnelService, true);
|
||||
registerSingleton(ILoggerService, FileLoggerService);
|
||||
registerSingleton(IUserDataSyncLogService, UserDataSyncLogService);
|
||||
registerSingleton(IUserDataSyncStoreService, UserDataSyncStoreService);
|
||||
registerSingleton(IUserDataSyncService, UserDataSyncService);
|
||||
registerSingleton(IWorkspaceEditingService, WorkspaceEditingService, true);
|
||||
|
||||
Reference in New Issue
Block a user