Skip to content

Logs Diagnostics

Taiizor edited this page Jun 5, 2026 · 3 revisions

Logs & Diagnostics

Sucrose writes a date-stamped log file per process under %AppData%\Sucrose\Log\. This page documents the log location, the per-line format, the compressed log-bundle name, and how to generate and collect logs for a bug report. Logs are the primary diagnostic artifact when a wallpaper won't start, an engine crashes, or the Store appears offline.

Contents

Where logs live

All logs are stored in:

%AppData%\Sucrose\Log\

Logging is handled by Sucrose.Manager.LogManager, which writes through the same mutex-guarded Writer.WriteAppend used for settings I/O, so logging is safe across the many Sucrose processes. See Data-Locations for where this sits in the overall data tree.

File naming

Each process writes its own file, named <Process>-yy.MM.dd.log (the date stamp yy.MM.dd comes from Sucrose.Memory.Manage.Valuable.Log.FileNameDate, so logs rotate per day). The processes that write logs are:

Undo, Portal, Update, Launcher, Property, Watchdog, Commandog, Reportdog, Backgroundog, AuroraLive, NebulaLive, VexanaLive, XavierLive, WebViewLive, CefSharpLive, MpvPlayerLive.

Example file names:

Portal-26.06.05.log
Backgroundog-26.06.05.log
MpvPlayerLive-26.06.05.log

The CefSharp engine additionally emits a native log alongside the managed one, named CefSharpNative-<date>-<guid>.log. See Engine-CefSharp.

Use this table to decide which file to open:

Symptom Most relevant log
Portal UI / settings problems Portal-*.log
Wallpaper won't start / wrong engine Launcher-*.log, Commandog-*.log, and the matching <Engine>Live-*.log
Audio not reacting / system data missing Backgroundog-*.log
MPV (GIF/Video) issues MpvPlayerLive-*.log
Browser wallpaper issues WebViewLive-*.log / CefSharpLive-*.log (+ CefSharpNative-*.log)
Update failures Update-*.log
Crash dialog appeared Watchdog-*.log, Reportdog-*.log (and the crash report — see below)
Uninstall issues Undo-*.log

Per-line format

Each log line follows this template:

[HH:mm:ss] ~ [SucroseWatchdog Thread-<randomThreadId>/<level>] ~ [<message>]

So a line is timestamped (HH:mm:ss), tagged with a thread id and a level, and ends with the message text in brackets.

Log levels

The level is a Skylark.Enum.LogType value. The special level None disables logging. If logging appears to be off, confirm the log level is not set to None.

The compressed log bundle

When you collect logs for sharing, Sucrose can produce a single compressed bundle. The bundle name template (Valuable.Log.FileNameCompress) is:

sucrose_log_yyyyMMdd_HHmmss.zip

This is the file you attach to a bug report.

Crash reports vs logs

Logs and crash reports are different artifacts:

  • Logs (%AppData%\Sucrose\Log\) are an ongoing, per-process, per-day record.
  • Crash reports (%AppData%\Sucrose\Cache\Report\<Id>.json) are written by the Watchdog when a process throws an unhandled exception; the Reportdog can upload them (subject to your consent settings). See Crash-Reporting and Privacy-Telemetry.

When filing a bug, include both the relevant log file(s) and — if a crash dialog appeared — the matching Report\<Id>.json.

Generating logs for a bug report

  1. Reproduce the problem so the relevant process writes fresh log lines.
  2. Collect the logs via the Portal: Settings → System offers create/delete log actions and the folder-clearing controls; use the log action to produce the compressed sucrose_log_*.zip bundle. See Settings-System.
  3. Alternatively, open %AppData%\Sucrose\Log\ directly and grab today's <Process>-yy.MM.dd.log files for the affected component(s) using the table above.
  4. If a crash dialog appeared, also include the latest %AppData%\Sucrose\Cache\Report\<Id>.json.
  5. Attach everything to a GitHub issue (see Getting-Help and Troubleshooting-Common).

📷 Screenshot needed: Portal → Settings → System showing the log create/delete action used to produce the compressed log bundle.

Clearing logs

To clear logs, use the Clear Log action on Settings → System, which removes %AppData%\Sucrose\Log\, or delete the folder's contents manually while Sucrose is closed. Clearing logs never affects your settings; see Backup-Restore-Reset for the full list of folder-clearing actions.

See also

Home

Getting Started

Wallpaper Types

Using Sucrose

Settings Reference

Creating Wallpapers

Engine Reference

Automation & Command Line

Architecture & Internals

Data, Files & Diagnostics

Building & Contributing

Help & Support

Clone this wiki locally