From a29ae4d3b989813969aaf5efc489daa4075c799a Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Tue, 24 Sep 2019 18:07:46 -0700 Subject: [PATCH] Add enable logs setting for Flat File Import (#7342) * Add config for enabling Flat File Import logging * Move logs to default log location for extensions * Add localized strings --- extensions/import/package.json | 11 +++++++++++ extensions/import/package.nls.json | 4 ++++ extensions/import/src/services/serviceClient.ts | 6 +++--- extensions/import/src/services/serviceUtils.ts | 4 ---- 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 extensions/import/package.nls.json diff --git a/extensions/import/package.json b/extensions/import/package.json index 5f701aba13..524afae82e 100644 --- a/extensions/import/package.json +++ b/extensions/import/package.json @@ -50,6 +50,17 @@ "group": "import" } ] + }, + "configuration":{ + "type": "object", + "title": "%flatfileimport.configuration.title%", + "properties": { + "flatFileImport.logDebugInfo": { + "type": "boolean", + "default": false, + "description": "%flatfileimport.logDebugInfo%" + } + } } }, "dependencies": { diff --git a/extensions/import/package.nls.json b/extensions/import/package.nls.json new file mode 100644 index 0000000000..c3a4667dfe --- /dev/null +++ b/extensions/import/package.nls.json @@ -0,0 +1,4 @@ +{ + "flatfileimport.configuration.title": "Flat File Import configuration", + "flatfileimport.logDebugInfo": "[Optional] Log debug output to the console (View -> Output) and then select appropriate output channel from the dropdown" +} diff --git a/extensions/import/src/services/serviceClient.ts b/extensions/import/src/services/serviceClient.ts index 198ce0a290..e0631d315d 100644 --- a/extensions/import/src/services/serviceClient.ts +++ b/extensions/import/src/services/serviceClient.ts @@ -44,7 +44,7 @@ export class ServiceClient { return new Promise((resolve, reject) => { serverdownloader.getOrDownloadServer().then(e => { const installationComplete = Date.now(); - let serverOptions = this.generateServerOptions(e); + let serverOptions = this.generateServerOptions(e, context); client = new SqlOpsDataClient(Constants.serviceName, serverOptions, clientOptions); const processStart = Date.now(); client.onReady().then(() => { @@ -90,10 +90,10 @@ export class ServiceClient { }; } - private generateServerOptions(executablePath: string): ServerOptions { + private generateServerOptions(executablePath: string, context: vscode.ExtensionContext): ServerOptions { let launchArgs = []; launchArgs.push('--log-dir'); - let logFileLocation = path.join(serviceUtils.getDefaultLogLocation(), 'flatfileimport'); + let logFileLocation = context.logPath; launchArgs.push(logFileLocation); let config = vscode.workspace.getConfiguration(Constants.extensionConfigSectionName); if (config) { diff --git a/extensions/import/src/services/serviceUtils.ts b/extensions/import/src/services/serviceUtils.ts index 0dd9dad11f..fed1422e87 100644 --- a/extensions/import/src/services/serviceUtils.ts +++ b/extensions/import/src/services/serviceUtils.ts @@ -18,10 +18,6 @@ export function getAppDataPath(): string { } } -export function getDefaultLogLocation(): string { - return path.join(getAppDataPath(), 'azuredatastudio'); -} - export function ensure(target: object, key: string): any { if (target[key] === void 0) { target[key] = {} as any;