Logging
Fusor Studio writes a log file you can attach to bug reports when something doesn't behave the way you expect. By default the file stays small (only warnings and errors are recorded) so you don't need to think about it during normal use. When you hit a bug, turn verbose logging on, reproduce the issue, then attach the file to your report.
Where the log file lives
Windows:
%APPDATA%\fusor-studio\logs\main.log
Two files are written:
main.log. Engine, MIDI, IPC, and other behind-the-scenes activity.renderer.log. UI-side messages.
Both rotate at 5 MB, at which point the previous contents move to main.old.log and renderer.old.log. So the folder holds up to four files once you've been running a while. You don't need to clean up.
Settings → Logging
Open the Settings window and choose the Logging tab.
Verbose logging switch
A single master switch at the top.
- Off (default): only
warnanderrormessages are written to the file, regardless of the per-category settings below. The file stays small and only fills up when something actually goes wrong. - On: every per-category dropdown below is honored. Use this when you're reproducing a bug and want detailed information captured.
Turn it back off after you've collected what you need so the file doesn't grow.
Per-category levels
When verbose is on, you can set each category to its own level:
| Category | What it covers |
|---|---|
| MIDI | Port I/O, CC and Note sends, telemetry received from the DJ app, echoes the engine ignored |
| Control Surface API | setValue/getValue calls, snapshots, role swaps |
| Mapping | Address ↔ MIDI resolution and warnings |
| Player | Era anchors, transport observations, tempo-ramp routines |
| Scheduler | Tick drift, action execution timing |
| Progress | Auto/manual source switches, manual takeover; at debug, the progress position and crossfader output on each tick |
| Action | SET/WAIT/IF step execution, validation |
| IPC | Main↔renderer message boundaries |
| Controller | Pad triggers, profile activation |
| Updates | Update checks, downloads, and deferrals — see Updating Fusor Studio |
| UI | Renderer-side diagnostic messages |
Levels go from most detailed to least:
- debug. Every operation, including high-volume per-tick activity.
- info. Significant events (transition start, role swap, and the like).
- warn. Something unexpected but the app continued.
- error. An operation failed.
Open log folder / Reveal current log file / Clear logs
- Open log folder. Opens Explorer at
%APPDATA%\fusor-studio\logs\. - Reveal current log file. Opens Explorer with
main.logpre-selected so you can right-click and attach it to an email or bug report. - Clear logs. Empties both
main.logandrenderer.login place. Useful right before reproducing a bug so the file contains only the relevant run — turn verbose on, click Clear logs, reproduce, then reveal and attach.
Filing a bug report
The typical workflow:
- Open Settings → Logging.
- Turn Verbose logging on.
- Set the relevant categories to
debug. Some examples:- "A control change isn't reaching the DJ app" → MIDI, Control Surface API, Mapping.
- "Transition didn't auto-start" → Player, Progress, Scheduler.
- "An action step failed" → Action, Control Surface API.
- Close Settings and reproduce the problem.
- Open Settings again and click Reveal current log file.
- Attach
main.logto your bug report. If the UI side is also involved, attachrenderer.logtoo. - Turn verbose back off so the file doesn't keep growing.
The log uses plain text with one entry per line, timestamped in your local time zone, so you can also open it in any text editor and search through it yourself.
Notes
- Fusor Studio does not upload the log file anywhere. It only writes locally.
- There is no in-app log viewer. Open the file in your favorite text editor if you want to read it directly.
- Each line is prefixed with timestamp, level, and category, so you can grep by category (for example,
(midi)) when investigating.