Loading...
Back to MSDC Toolbox

Plugin Trace Viewer

Complete guide for using the Plugin Trace Viewer plugin

Plugin Trace Viewer — User Guide

Overview

Plugin Trace Viewer lets you read, filter, and analyse Dataverse plugin trace logs without opening the legacy Dynamics 365 UI. It highlights exceptions instantly, supports live auto-refresh, and lets you drill into correlation chains across related trace entries.


Prerequisites

  • An active connection to a Dataverse environment
  • Plugin tracing must be enabled in the target environment:
    • Go to Settings → Administration → System Settings → Customization tab
    • Set Enable logging to plug-in trace log to All or Exception
  • Read access to the plugintracelog entity (prvReadPluginTraceLog)

Getting Started

  1. Select Plugin Trace Viewer from the sidebar
  2. The plugin connects and loads the most recent trace log entries automatically

Interface Layout

Area Description
Stats bar Total logs, exception count, time of last refresh
Filter bar Filters for entity, message, plugin name, and exception status
Logs table Sortable list of trace entries
Detail panel Full trace message and exception details for the selected entry

Workflow

1. Browse Trace Logs

Logs load automatically, ordered by most recent first. Each row shows:

Column Description
Time When the plugin executed
Entity The entity the message fired on
Message The SDK message (Create, Update, Delete, etc.)
Plugin The plugin type name
Depth Execution depth (1 = initial trigger)
Duration Execution time in milliseconds
Exception ⚠️ badge if the execution threw an exception

2. Filter Logs

Use the filter bar to narrow results:

Filter How to use
Entity Type or select an entity logical name
Message Filter by SDK message name (e.g. Create, Update)
Plugin Type part of the plugin class name
Exceptions only Toggle to show only entries that threw an exception

Filters apply immediately — no need to click a search button.

3. Inspect a Log Entry

Click any row to open the Detail Panel:

  • Trace message — The full log text written by the plugin (via TracingService.Trace())
  • Exception details — Full exception type, message, and stack trace if an error occurred
  • Context info — Initiating user, organization, correlation ID, and request ID

4. Drill into Correlation Chains

Click Show correlation on a log entry to filter the table to all entries sharing the same Correlation ID — this shows the full chain of plugins triggered by a single user action.

5. Live Auto-Refresh

Toggle Auto-refresh to poll for new entries every 10 seconds. A countdown timer shows when the next refresh will occur. Use this while actively testing plugin logic.

6. Export

Click Export to download the currently filtered results as a CSV file.


Tips

Tip Detail
Filter to exceptions first Enable "Exceptions only" to jump straight to failed executions
Use correlation ID One user action can trigger many plugins — correlation drilling shows the full picture
Auto-refresh during testing Enable auto-refresh and trigger your action from the browser to see results appear in real time
Check trace message content Developers can write debug info using ITracingService.Trace() — this appears in the trace message column

Troubleshooting

Problem Resolution
No logs appear Confirm plugin tracing is enabled in System Settings and that plugins have recently fired
Only old logs show Use auto-refresh or click Refresh manually after triggering plugin execution
Trace message is empty The plugin may not call ITracingService.Trace() — only exceptions are always logged
Too many entries Use entity and message filters to focus on the specific operation being debugged