Skip to content

Logging and diagnostics

Derek Yang edited this page Oct 4, 2026 · 3 revisions

Logging arrives in the first release after 3.8.0.0. Builds from master already include it.

Finding logs

Open Settings > Diagnostics > Application logs and press Open folder. Each day's log is named fluentdl-YYYYMMDD.log.

Installed copies of FluentDL keep logs in the app's LocalState\Logs folder. Unpackaged runs, such as debugging in Visual Studio, use %LOCALAPPDATA%\FluentDL\Logs.

What's in a log

FluentDL always logs startup, crashes, download results, conversion failures and queue save failures. Turn on Verbose logging before you reproduce a problem to add more detail, then turn it off again.

Logs never contain tokens, cookies, response bodies or exception messages, and FluentDL doesn't upload them. Read a log before you share it anyway.

A new file starts each day or when the current one reaches 5 MB. FluentDL keeps the latest 10 files. If it can't write a log, Settings shows a warning.

For developers

  • Use ILogger<T> in injected services and Serilog's Log in static code. Use constant message templates, and don't log whole models, settings, URLs or exception messages.
  • FluentDL logs each exception's type and stack, without file paths or line numbers. Release builds need no extra symbols for this.
  • Run the logging tests from the repository root with dotnet test FluentDL.Core.Tests\FluentDL.Core.Tests.csproj.

Clone this wiki locally