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 warn and error messages 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:

CategoryWhat it covers
MIDIPort I/O, CC and Note sends, telemetry received from the DJ app, echoes the engine ignored
Control Surface APIsetValue/getValue calls, snapshots, role swaps
MappingAddress ↔ MIDI resolution and warnings
PlayerEra anchors, transport observations, tempo-ramp routines
SchedulerTick drift, action execution timing
ProgressAuto/manual source switches, manual takeover; at debug, the progress position and crossfader output on each tick
ActionSET/WAIT/IF step execution, validation
IPCMain↔renderer message boundaries
ControllerPad triggers, profile activation
UpdatesUpdate checks, downloads, and deferrals — see Updating Fusor Studio
UIRenderer-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.log pre-selected so you can right-click and attach it to an email or bug report.
  • Clear logs. Empties both main.log and renderer.log in 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:

  1. Open Settings → Logging.
  2. Turn Verbose logging on.
  3. 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.
  4. Close Settings and reproduce the problem.
  5. Open Settings again and click Reveal current log file.
  6. Attach main.log to your bug report. If the UI side is also involved, attach renderer.log too.
  7. 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.