Remove legacy Logger class and switch to Logger2#22270
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes the legacy Logger wrapper (and ILogger) and migrates the MSSQL extension to use Logger2/ILogger2 directly, aligning logging with VS Code LogOutputChannel-style levels (trace, debug, info, warn, error) and simplifying logger usage across the codebase.
Changes:
- Deleted the legacy
Loggerimplementation and theILoggerinterface. - Migrated extension services/controllers/helpers to
ILogger2+logger2.withPrefix(...), adjusting log level calls accordingly. - Updated unit tests and test utilities to stub
ILogger2and validate the new logging methods.
Reviewed changes
Copilot reviewed 69 out of 69 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| extensions/mssql/test/unit/utils.ts | Updates unit test logger stubs/helpers to ILogger2/logger2. |
| extensions/mssql/test/unit/tableExplorerService.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/serviceInstallerUtils.test.ts | Updates stub logger tests to trace/debug/info. |
| extensions/mssql/test/unit/serviceClient.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/scriptingService.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/objectManagementService.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/objectExplorerService.test.ts | Updates OE tests to assert ILogger2 methods. |
| extensions/mssql/test/unit/msalAzureController.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/metadataService.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/httpClient.test.ts | Updates test expectations from verbose to debug. |
| extensions/mssql/test/unit/fabricProvisioningHelpers.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/download.test.ts | Updates test logger expectations to trace/info. |
| extensions/mssql/test/unit/dotnetRuntimeProvider.test.ts | Updates test types/expectations to ILogger2/debug. |
| extensions/mssql/test/unit/connectionStore.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/connectionManager.test.ts | Updates test types to ILogger2. |
| extensions/mssql/test/unit/azureHelpers.test.ts | Updates test types to ILogger2. |
| extensions/mssql/src/tableExplorer/tableExplorerWebViewController.ts | Downshifts many info logs to debug/trace. |
| extensions/mssql/src/tableDesigner/tableDesignerWebviewController.ts | Uses controller logger instead of module-level logger. |
| extensions/mssql/src/services/fileBrowserService.ts | Migrates service logger to ILogger2/logger2. |
| extensions/mssql/src/services/dabService.ts | Migrates DAB container logging calls to ILogger2 methods. |
| extensions/mssql/src/searchDatabase/searchDatabaseWebViewController.ts | Migrates verbose logging to debug. |
| extensions/mssql/src/scripting/scriptingService.ts | Migrates scripting service logger to ILogger2/logger2. |
| extensions/mssql/src/schemaDesigner/schemaDesignerWebviewController.ts | Uses controller logger instead of module-level logger. |
| extensions/mssql/src/schemaCompare/schemaCompareWebViewController.ts | Migrates many verbose/info/logDebug calls to debug/trace. |
| extensions/mssql/src/schemaCompare/schemaCompareUtils.ts | Updates logger parameter types to ILogger2 + level mapping. |
| extensions/mssql/src/profiler/profilerSession.ts | Updates optional logger type to ILogger2. |
| extensions/mssql/src/profiler/profilerController.ts | Migrates profiler controller logger to ILogger2/logger2. |
| extensions/mssql/src/objectExplorer/objectExplorerService.ts | Migrates OE service logger to ILogger2/logger2. |
| extensions/mssql/src/objectExplorer/objectExplorerDragAndDropController.ts | Migrates drag/drop logger to ILogger2/logger2. |
| extensions/mssql/src/mssqlProtocolHandler.ts | Migrates protocol handler logger to ILogger2/logger2. |
| extensions/mssql/src/models/logger.ts | Removes legacy Logger implementation. |
| extensions/mssql/src/models/interfaces.ts | Removes legacy ILogger interface. |
| extensions/mssql/src/models/connectionStore.ts | Migrates store logger type + updates some log calls. |
| extensions/mssql/src/languageservice/serviceInstallerUtil.ts | Updates stub logger to ILogger2 and switches to debug. |
| extensions/mssql/src/languageservice/serviceDownloadProvider.ts | Migrates downloader to ILogger2 and updates log calls. |
| extensions/mssql/src/languageservice/serviceclient.ts | Migrates service client constructor/logger to ILogger2/logger2. |
| extensions/mssql/src/languageservice/interfaces.ts | Updates decompressor logger type to ILogger2. |
| extensions/mssql/src/languageservice/downloadHelper.ts | Updates download helper logger type + log level calls. |
| extensions/mssql/src/languageservice/dotnetRuntimeProvider.ts | Updates runtime provider logger type + log levels. |
| extensions/mssql/src/languageservice/decompressProvider.ts | Updates decompressor logger type + replaces appendLine. |
| extensions/mssql/src/http/httpClientCore.ts | Updates HTTP core logger type + migrates verbose logs to debug. |
| extensions/mssql/src/http/httpClient.ts | Updates HttpClient logger type to ILogger2. |
| extensions/mssql/src/fabric/fabricHelper.ts | Updates Fabric helper to return ILogger2 logger. |
| extensions/mssql/src/docker/dockerUtils.ts | Switches docker logger to Logger2.forChannelName(...). |
| extensions/mssql/src/deployment/sqlServerContainer.ts | Migrates docker-related log calls to ILogger2 methods. |
| extensions/mssql/src/deployment/fabricProvisioningHelpers.ts | Updates helper logger parameter type to ILogger2. |
| extensions/mssql/src/deployment/azureSqlDatabaseHelpers.ts | Updates helper logger type + migrates log usage. |
| extensions/mssql/src/dab/dabContainer.ts | Migrates DAB container log calls to ILogger2 methods. |
| extensions/mssql/src/credentialstore/credentialstore.ts | Migrates credential store logger to ILogger2/logger2. |
| extensions/mssql/src/copilot/chatAgentRequestHandler.ts | Migrates Copilot agent logging to ILogger2 levels. |
| extensions/mssql/src/controllers/webviewBaseController.ts | Migrates base controller logger to ILogger2/logger2. |
| extensions/mssql/src/controllers/mainController.ts | Migrates main controller logger to ILogger2/logger2. |
| extensions/mssql/src/controllers/dacpacDialogWebviewController.ts | Migrates verbose logs to debug. |
| extensions/mssql/src/controllers/connectionManager.ts | Migrates connection manager logger type + levels. |
| extensions/mssql/src/controllers/connectionGroupWebviewController.ts | Migrates verbose logs to debug. |
| extensions/mssql/src/connectionSharing/connectionSharingService.ts | Migrates logger type + tunes some log levels. |
| extensions/mssql/src/connectionconfig/connectionDialogWebviewController.ts | Migrates verbose/logDebug calls to debug. |
| extensions/mssql/src/connectionconfig/connectionconfig.ts | Migrates config logger type + log levels. |
| extensions/mssql/src/connectionconfig/browseProvider.ts | Migrates browse provider host logger type to ILogger2. |
| extensions/mssql/src/connectionconfig/azureHelpers.ts | Migrates helper logger parameter type to ILogger2. |
| extensions/mssql/src/backgroundTasks/backgroundTasksService.ts | Adds structured task lifecycle logging via _logger. |
| extensions/mssql/src/azure/msal/msalCachePlugin.ts | Migrates MSAL cache plugin logging to ILogger2 levels. |
| extensions/mssql/src/azure/msal/msalAzureDeviceCode.ts | Migrates device-code auth logger type and log usage. |
| extensions/mssql/src/azure/msal/msalAzureController.ts | Migrates MSAL controller logging to ILogger2 levels. |
| extensions/mssql/src/azure/msal/msalAzureCodeGrant.ts | Migrates code grant auth logger type to ILogger2. |
| extensions/mssql/src/azure/msal/msalAzureAuth.ts | Migrates MSAL auth base logging and error formatting. |
| extensions/mssql/src/azure/fileEncryptionHelper.ts | Migrates encryption helper logger type to ILogger2. |
| extensions/mssql/src/azure/azureController.ts | Migrates Azure controller logger type to ILogger2/logger2. |
| extensions/mssql/src/azure/accountStore.ts | Migrates account store logger to ILogger2/logger2. |
PR Changes
|
Benjin
approved these changes
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR removes the legacy
Loggerwrapper and migrates MSSQL extension code to the sharedLoggerimplementation.The migration centralizes logging on an API that follows VS Code
LogOutputChannellevels (trace,debug,info,warn,error). It also reduces logger prop drilling by allowing scoped loggers to be created where they are consumed, makes logging easier to use across the extension, and moves the codebase toward a more DI-friendly logging model.After the legacy wrapper was removed, the replacement logger was renamed from
Logger2/ILogger2/logger2toLogger/ILogger/loggerso the final API no longer carries migration-only names.Code Changes Checklist
npm run test)Reviewers: Please read our reviewer guidelines