Skip to content

Remove legacy Logger class and switch to Logger2#22270

Merged
aasimkhan30 merged 4 commits into
mainfrom
remove-logger-class-use-logger2
Jun 2, 2026
Merged

Remove legacy Logger class and switch to Logger2#22270
aasimkhan30 merged 4 commits into
mainfrom
remove-logger-class-use-logger2

Conversation

@aasimkhan30
Copy link
Copy Markdown
Contributor

@aasimkhan30 aasimkhan30 commented Jun 1, 2026

Description

This PR removes the legacy Logger wrapper and migrates MSSQL extension code to the shared Logger implementation.

The migration centralizes logging on an API that follows VS Code LogOutputChannel levels (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/logger2 to Logger/ILogger/logger so the final API no longer carries migration-only names.

Code Changes Checklist

  • New or updated unit tests added
  • All existing tests pass (npm run test)
  • Code follows contributing guidelines
  • Telemetry/logging updated if relevant
  • No regressions or UX breakage

Reviewers: Please read our reviewer guidelines

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Logger implementation and the ILogger interface.
  • Migrated extension services/controllers/helpers to ILogger2 + logger2.withPrefix(...), adjusting log level calls accordingly.
  • Updated unit tests and test utilities to stub ILogger2 and 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.

Comment thread extensions/mssql/src/controllers/webviewBaseController.ts Outdated
Comment thread extensions/mssql/src/scripting/scriptingService.ts
Comment thread extensions/mssql/src/azure/azureController.ts Outdated
Comment thread extensions/mssql/src/azure/msal/msalAzureDeviceCode.ts
Comment thread extensions/mssql/src/azure/msal/msalAzureDeviceCode.ts
Comment thread extensions/mssql/src/controllers/webviewBaseController.ts Outdated
Comment thread extensions/mssql/src/scripting/scriptingService.ts
Comment thread extensions/mssql/src/azure/azureController.ts Outdated
Comment thread extensions/mssql/src/azure/msal/msalAzureDeviceCode.ts Outdated
Comment thread extensions/mssql/src/azure/msal/msalAzureDeviceCode.ts Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

PR Changes

Category Target Branch PR Branch Difference
vscode-mssql VSIX 78797 KB 78791 KB ⚪ -6 KB ( 0% )
sql-database-projects VSIX 6309 KB 6309 KB ⚪ 0 KB ( 0% )
data-workspace VSIX 535 KB 535 KB ⚪ 0 KB ( 0% )
keymap VSIX 7 KB 7 KB ⚪ 0 KB ( 0% )

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jun 1, 2026

Codecov Report

❌ Patch coverage is 72.32877% with 303 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.33%. Comparing base (bf6eb60) to head (51083a2).
⚠️ Report is 14 commits behind head on main.

Files with missing lines Patch % Lines
...rc/schemaCompare/schemaCompareWebViewController.ts 60.36% 65 Missing ⚠️
...xtensions/mssql/src/profiler/profilerController.ts 43.75% 45 Missing ⚠️
...sions/mssql/src/copilot/chatAgentRequestHandler.ts 58.22% 33 Missing ⚠️
...ssql/src/backgroundTasks/backgroundTasksService.ts 62.02% 30 Missing ⚠️
...ons/mssql/src/controllers/webviewBaseController.ts 41.37% 17 Missing ⚠️
...ns/mssql/src/languageservice/decompressProvider.ts 8.33% 11 Missing ⚠️
extensions/mssql/src/azure/msal/msalAzureAuth.ts 18.18% 9 Missing ⚠️
...ions/mssql/src/schemaCompare/schemaCompareUtils.ts 18.18% 9 Missing ⚠️
...nsions/mssql/src/azure/msal/msalAzureDeviceCode.ts 22.22% 7 Missing ⚠️
extensions/mssql/src/fabric/fabricHelper.ts 41.66% 7 Missing ⚠️
... and 25 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #22270      +/-   ##
==========================================
- Coverage   74.37%   74.33%   -0.04%     
==========================================
  Files         408      407       -1     
  Lines      128293   128149     -144     
  Branches     7768     7755      -13     
==========================================
- Hits        95413    95262     -151     
- Misses      32880    32887       +7     
Flag Coverage Δ
data-workspace 77.10% <ø> (ø)
mssql 73.96% <72.32%> (-0.04%) ⬇️
sqlproj 77.56% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
extensions/mssql/src/azure/accountStore.ts 47.42% <100.00%> (ø)
extensions/mssql/src/azure/fileEncryptionHelper.ts 35.56% <100.00%> (ø)
...ensions/mssql/src/azure/msal/msalAzureCodeGrant.ts 25.28% <100.00%> (ø)
.../src/connectionSharing/connectionSharingService.ts 98.93% <100.00%> (ø)
...sions/mssql/src/connectionconfig/browseProvider.ts 87.42% <100.00%> (ø)
...ons/mssql/src/connectionconfig/connectionconfig.ts 93.30% <100.00%> (ø)
...l/src/controllers/dacpacDialogWebviewController.ts 93.29% <100.00%> (ø)
...nsions/mssql/src/controllers/sqlDocumentService.ts 89.48% <100.00%> (ø)
...sions/mssql/src/credentialstore/credentialstore.ts 100.00% <100.00%> (ø)
extensions/mssql/src/docker/dockerUtils.ts 90.87% <100.00%> (-0.05%) ⬇️
... and 48 more

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aasimkhan30 aasimkhan30 changed the title Remove legacy Logger class and use Logger2 Remove legacy Logger class and use shared Logger Jun 1, 2026
Copilot AI review requested due to automatic review settings June 1, 2026 22:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 76 out of 76 changed files in this pull request and generated 6 comments.

Comment thread extensions/mssql/src/copilot/chatAgentRequestHandler.ts Outdated
Comment thread extensions/mssql/src/copilot/chatAgentRequestHandler.ts
Comment thread extensions/mssql/src/languageservice/serviceclient.ts Outdated
Comment thread extensions/mssql/src/languageservice/serviceclient.ts Outdated
Comment thread extensions/mssql/test/unit/utils.ts Outdated
Comment thread extensions/mssql/test/unit/utils.ts
@aasimkhan30 aasimkhan30 changed the title Remove legacy Logger class and use shared Logger Remove legacy Logger class and switch to Logger2 Jun 1, 2026
@aasimkhan30 aasimkhan30 merged commit 7597c77 into main Jun 2, 2026
10 checks passed
@aasimkhan30 aasimkhan30 deleted the remove-logger-class-use-logger2 branch June 2, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants