Logs and Diagnostics
Where PreviewMonitor writes its logs, crash dumps and config files on Windows and macOS, the two debug switches, and what to send support.
Everything the desktop plugin knows about a failed stream is in its log. On
Windows that is a plain text file you can open in Notepad. On macOS it goes to
the unified system log and you read it with Console.app or log show — there
is no log file on macOS.
Where everything lives
Windows
| What | Path |
|---|---|
| Plugin log (Premiere Pro) | %LOCALAPPDATA%\PremiereLive\plugin.log |
| Plugin log (After Effects) | %LOCALAPPDATA%\PremiereLive\plugin-ae.log |
| Previous log generation | %LOCALAPPDATA%\PremiereLive\plugin.log.1 |
| Crash dumps | %LOCALAPPDATA%\PremiereLive\crashes\ |
| Debug topic logs | %LOCALAPPDATA%\PremiereLive\debug_<topic>.log |
| Encoder transition log | %LOCALAPPDATA%\PremiereLive\transitions.csv |
| Machine identity + Setup toggles | %APPDATA%\PremiereLive\install.json |
| Trusted iPhones | %APPDATA%\PremiereLive\trusted.json, trusted-ae.json |
Two different folders: logs go under Local AppData, configuration under Roaming.

Paste %LOCALAPPDATA%\PremiereLive into the Explorer address bar to open this folder directly.
macOS
| What | Path |
|---|---|
| Plugin log | None. Logging goes to os_log — see below |
| Debug topic logs | ~/Library/Logs/PremiereLive/debug_<topic>.log |
| Encoder transition log | ~/Library/Logs/PremiereLive/transitions.csv |
| Machine identity + Setup toggles | ~/Library/Application Support/PremiereLive/install.json |
| Trusted iPhones | ~/Library/Application Support/PremiereLive/trusted.json, trusted-ae.json |
| Crash dumps | None from the plugin. macOS writes its own to ~/Library/Logs/DiagnosticReports/ |
~/Library/Logs/PremiereLive/ does exist on macOS, and it does contain debug
topic logs — but it never contains a plugin.log. If you are looking for one,
you are looking for a file that is never created. Use Console.app or log show
instead.
Reading the log on Windows
Each line looks like this:
[2026-08-30 14:22:07.913 com.premierelive.plugin:transmit:INFO] SendControl: kSourceChanged 1920x1080 @ 30 fpsTimestamp, subsystem, the category of the code that emitted it, the level, then the message. The first useful line in any session is the version banner:
[... :main:INFO] PreviewMonitor plugin v1.4.2 starting upThat tells you exactly which build is installed — quote it in any support request.
The file grows to 4 MB, then rolls: the current file is renamed plugin.log.1
(replacing any previous one) and a fresh plugin.log starts. Only one previous
generation is kept, so copy the file before reproducing a long session.
The findstr trap
findstr treats square brackets as a character class, so searching for a
bracketed prefix without /C: matches almost every line in the file:
findstr "[dx]" "%LOCALAPPDATA%\PremiereLive\plugin.log" :: wrong — matches any d or x
findstr /C:"[dx]" "%LOCALAPPDATA%\PremiereLive\plugin.log" :: right — literal matchEvery prefix below is bracketed, so always pass /C:. In PowerShell, use
-SimpleMatch and remember that %LOCALAPPDATA% is Command Prompt syntax —
PowerShell needs $env:LOCALAPPDATA:
Select-String -SimpleMatch "[sample]" "$env:LOCALAPPDATA\PremiereLive\plugin.log"Reading the log on macOS
The subsystem is com.premierelive.plugin. Every message carries a category
naming the part of the plugin that emitted it — transmit, network,
encoder, pairing, trusted, bonjour, ctrl, setup_dialog, and others.
In Terminal, for the last ten minutes:
log show --predicate 'subsystem == "com.premierelive.plugin"' --last 10m --infoTo watch live while you reproduce a problem:
log stream --predicate 'subsystem == "com.premierelive.plugin"' --infoAdd --debug to either command to include debug-level lines. Narrow to one area
by adding a category, for example
subsystem == "com.premierelive.plugin" AND category == "pairing".

In Console.app, search for com.premierelive.plugin and enable Action → Include Info Messages — without it, most of the plugin's output is hidden.
Prefixes worth grepping
| Prefix | What it covers | Needs |
|---|---|---|
[sample] | Gaps in the frame feed from the host, and the tally of frames replayed to a newly connected phone | Always on |
[bj] | Bonjour advertisement health on Windows, including the self-heal that re-publishes a lost registration | Always on |
[Sunshine] | Confirmation that a GOP Mode change from the phone was applied, with the resulting GOP length | Always on |
[dx] | Encoder and status-panel state changes — why the stream row shows what it shows | PL_LOG_DEBUG=1 |
[alpha] | Pixel-format and transparency measurements on the frames Premiere Pro hands over | PL_ALPHA_PROBE=1 |
[VEH] | A fatal exception's faulting module and offset, written just before a crash dump | Windows, always on |
The two debug switches
Both are environment variables read once, the first time the plugin needs them. Set them before launching Premiere Pro — setting them afterwards does nothing.
PL_LOG_DEBUG=1
Windows only. Lowers the log file's level filter from Info to Debug, which turns
on heartbeat ticks, per-frame counters, and the [dx] state trace. Expect the 4
MB rotation to come around much faster.
macOS ignores it — debug messages are always emitted to os_log and filtered by
the system instead, so add --debug to your log show command.
PL_ALPHA_PROBE=1
Both platforms. Samples the incoming frame buffer once every two seconds and prints an alpha histogram plus a count of pixels that break the premultiplied- alpha invariant. Support may ask for this when investigating a transparency or matting complaint. It costs well under a millisecond per sample, so it is safe to leave on for a whole session.
Setting one on Windows
environment variables, and open Edit the system environment variables for your account.1.
A user variable is enough — the plugin runs inside your own Premiere Pro process.
Setting one on macOS
An environment variable set in Terminal does not reach an app launched from the
Dock, and open -a does not carry it either. Launch the executable inside the
application bundle directly for that one session, adjusting the year to match
your install:
PL_ALPHA_PROBE=1 "/Applications/Adobe Premiere Pro 2026/Adobe Premiere Pro 2026.app/Contents/MacOS/Adobe Premiere Pro 2026"Quit Premiere Pro first, and leave the Terminal window open while you work — it owns the process.
Debug topic logs
Alongside the main log the plugin keeps a small set of per-topic files, named
debug_<topic>.log. The topics are transitions, controller, encoder,
telemetry, fps, owd and ui_sync. They are all enabled by default and
need no environment variable.
At every startup the previous file is archived with a UTC timestamp in its name
— debug_encoder_2026-08-30T14-22-07.913Z.log — and a fresh one is opened. Only
the five most recent archives per topic are kept.
To narrow them to one or two topics, set
PREMIERELIVE_DEBUG_TOPICS=transitions,encoder before launching. Unset or empty
means all topics.
transitions.csv
Every encoder rebuild — a resolution change, a codec swap, an engine change —
appends one row to transitions.csv in the same folder as the debug logs. The
header is written when the file is first created:
ts,mode,fromW,fromH,toW,toH,cloneMs,firstKeyMs,swapMs,totalMs,framesDropped,errormode is Seamless or Conservative, totalMs is how long the swap took, and
framesDropped is how many frames were lost across it. This is the file to look
at if the picture freezes for a moment whenever you change a setting on the
phone. It is never truncated, so it accumulates across sessions.
Crash dumps
On Windows the plugin installs a crash handler at load and writes a minidump to
%LOCALAPPDATA%\PremiereLive\crashes\ when a fatal exception reaches it. Files
are named YYYY-MM-DD_HH-MM-SS_<pid>.dmp and run to a few megabytes. It chains
to Adobe's own handler afterwards, so Premiere Pro's crash reporter still fires.
The line immediately before the crash in plugin.log — the one tagged [VEH] —
names the faulting module and offset, which is often enough on its own.
macOS gets no dump from the plugin. Use the standard macOS crash report in
~/Library/Logs/DiagnosticReports/.
What to send support
For any problem, attach:
- The plugin log.
- Windows:
plugin.log(andplugin-ae.logif the problem is in After Effects). Copy the file rather than the folder — it rolls at 4 MB. - macOS: the output of
log show --predicate 'subsystem == "com.premierelive.plugin"' --last 30m --info > ~/Desktop/previewmonitor.log
- Windows:
- The version line —
PreviewMonitor plugin vX.Y.Z starting up, near the top of the log — and the App Store version of the iPhone app. - The
Active encoder:line from the Setup window, which names the exact encoder your machine picked. - The Instance ID from the Setup window (Windows) or from
install.json(macOS). - Host and OS versions — which Adobe application, which version, and your Windows or macOS version.
- For a crash: the newest
.dmpfrom thecrashesfolder. - For a picture-quality or color question:
transitions.csv, plus a run withPL_ALPHA_PROBE=1if you were asked for one.
Do not send trusted.json. It contains the session tokens that let a device
connect to your machine.
Related
- Setup window — live status, and the read-only diagnostics panel
- Two hosts on one machine — which log file belongs to which application
- Reset and reinstall — clearing configuration and starting clean
Last updated on
Two Hosts on One Machine
Running Premiere Pro and After Effects side by side — separate ports, names, logs and trust stores — plus what happens with two monitors live at once.
Free vs Pro
Exactly what the PreviewMonitor subscription unlocks, what the free tier does, current prices, the 7-day trial, and what happens when a subscription lapses.