Skip to content

Add RESTLogs collection to Exchange Log Collector#2552

Merged
dpaulson45 merged 1 commit into
mainfrom
dpaul-ElcDev
Jun 12, 2026
Merged

Add RESTLogs collection to Exchange Log Collector#2552
dpaulson45 merged 1 commit into
mainfrom
dpaul-ElcDev

Conversation

@dpaulson45

Copy link
Copy Markdown
Member

Summary

Adds a -RESTLogs switch to the Exchange Log Collector to collect REST API logs, enabling troubleshooting of Exchange-Teams integration scenarios.

Log Directories Collected

  • Backend (Mailbox role): %ExchangeInstallPath%Logging\Rest
  • Proxy (CAS role): %ExchangeInstallPath%Logging\HttpProxy\Rest

Changes

  • Added [switch]$RESTLogs parameter to ExchangeLogCollector.ps1
  • Included in -AllPossibleLogs scenario
  • Added to the no-switches-provided guard check
  • Passed through to remote servers via Get-ArgumentList
  • Collection logic in Invoke-RemoteMain.ps1 follows the same Mailbox/CAS dual-path pattern as EWSLogs
  • Updated documentation

Fixes #2123

Add -RESTLogs switch to collect REST API logs from both backend
(Logging\Rest) and proxy (Logging\HttpProxy\Rest) directories,
following the same pattern as EWSLogs. Included in -AllPossibleLogs.

Fixes #2123

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 12, 2026 14:15
@dpaulson45 dpaulson45 requested a review from a team as a code owner June 12, 2026 14:15
@dpaulson45

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds first-class collection support for Exchange REST API logs in the Exchange Log Collector, improving troubleshooting data capture for Exchange–Teams REST integration scenarios.

Changes:

  • Added -RESTLogs switch to ExchangeLogCollector.ps1 and propagated it through argument passing to remote collection.
  • Included RESTLogs in the “all possible logs” scenario and in the “no switches provided” guard logic.
  • Implemented remote collection logic for both backend (Mailbox) and proxy (CAS) REST log directories and documented the new switch.

Reviewed changes

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

Show a summary per file
File Description
docs/Diagnostics/ExchangeLogCollector.md Documents the new RESTLogs parameter and its log locations.
Diagnostics/ExchangeLogCollector/RemoteScriptBlock/Invoke-RemoteMain.ps1 Adds remote collection actions for backend and proxy REST log paths based on server role.
Diagnostics/ExchangeLogCollector/Helpers/Test-PossibleCommonScenarios.ps1 Ensures -AllPossibleLogs enables REST log collection.
Diagnostics/ExchangeLogCollector/Helpers/Test-NoSwitchesProvided.ps1 Treats -RESTLogs as a “switch provided” to avoid the no-switch warning path.
Diagnostics/ExchangeLogCollector/Helpers/Get-ArgumentList.ps1 Passes RESTLogs through to the remote scriptblock via the argument object.
Diagnostics/ExchangeLogCollector/ExchangeLogCollector.ps1 Introduces the -RESTLogs switch parameter.

@dpaulson45 dpaulson45 merged commit 66ad403 into main Jun 12, 2026
8 checks passed
@dpaulson45 dpaulson45 deleted the dpaul-ElcDev branch June 12, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add ability to collect REST logs in Exchange log collector

3 participants