Plugin Trace Log Viewer
Paste or select a plain-text Dynamics plugin trace export and parse common fields into searchable entries. Filter likely exceptions, inspect formatted or raw blocks, and copy or export selected results. Parsing is best-effort and remains in the browser.
How to Use the Plugin Trace Log Viewer
Turn a plain-text plugin trace export into navigable entries while keeping raw blocks available for verification.
- Paste trace text or select a .txt/.log file, then choose Parse.
- Scan the entry list for plugin, message, correlation ID, depth, organization, timing, and exception indicators.
- Search across raw content or recognized fields; enable Exceptions only when triaging likely failures.
- Open an entry and compare Formatted vs Raw so parser assumptions do not hide context.
- Copy the selected entry or filtered set, or export the currently filtered raw blocks.
Parsing approach
The viewer splits text into blocks, then applies regular expressions for common Dynamics plugin trace labels. Execution milliseconds appear only when a recognized duration label is present. Exception status is inferred from text patterns.
Example triage
After a failed Update on account, paste the exported traces, enable Exceptions only, search the correlation ID from the failing request, and open the matching depth entries to read the stack in Raw view.
Field interpretation
- Correlation ID groups related pipeline activity when present in the text.
- Depth helps distinguish nested plugin calls.
- Timing is only as trustworthy as the source label the regex recognized.
Mistakes and limitations
- Blank lines inside one logical entry can split blocks when stronger separators are absent.
- Localized or custom labels may parse incompletely.
- This viewer does not connect to Dataverse to fetch Plugin Trace Log rows for you.
Privacy note
Reading, parsing, filtering, copying, and download creation all occur in the browser. Redact personal data and secrets written by custom TracingService output before sharing, and follow your retention policy.
FAQ
What log format does the parser expect?
Plain-text blocks separated by dashed lines, “Plugin Trace Log” headings, or blank lines. It looks for labels such as Type Name, Message Name, Correlation ID, Depth, Organization, and execution time in milliseconds.
How does Exceptions only decide what to keep?
It flags blocks that mention unhandled exception, exception details, System.*Exception, or a non-empty Exception field (ignoring placeholders like none/n/a). It is a convenience text filter, not a complete fault classifier.
Why do some fields show as Unknown?
When a recognized label is missing or the export uses different wording/localization, extraction falls back to Unknown plugin / Unknown message or blank correlation/depth. Always compare Formatted and Raw views.
Can I open JSON or CSV plugin trace exports?
The parser targets free-form text exports. JSON/CSV or heavily customized formats may not split or extract fields correctly—paste plain text when possible.
Does a missing exception badge mean the plugin succeeded?
No. Absence of matched exception text does not prove success, and a matched word does not prove root cause. Correlate with pipeline stage, registration, timestamps, and platform diagnostics.
What can I copy or download?
You can copy a selected entry or the filtered set, and export currently filtered raw blocks. Exports are created locally from the parsed/filtered text you already loaded.
Are trace logs uploaded to ToolsLibrary?
No. Pasted text and selected .txt/.log files are read and parsed in the browser. Trace content often includes customer data, IDs, URLs, and stacks—avoid sharing unredacted copies.