Repository navigation
Logging and diagnostics
Logging arrives in the first release after 3.8.0.0. Builds from
masteralready include it.
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.
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.
- Use
ILogger<T>in injected services and Serilog'sLogin 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.