Normal launches write application diagnostics only to debug.log when file
logging is enabled. General > Debug > Enable file logging changes this immediately
and saves Settings/logFileOutput (default true). This control takes effect even
if the Settings dialog is subsequently canceled. Disabling it keeps existing logs.
The existing Settings/noDebugOutput preference still suppresses verbose debug
messages during normal launches; info, warning and error messages are retained.
--debug additionally writes all emitted application log levels to stderr,
including verbose debug and image diagnostics. It overrides debug suppression
for that process without changing the saved preference. It works with file
logging disabled and with redirected stderr. Log writes and sink changes are
serialized between worker threads. The existing 1 MiB truncation threshold is
retained; this patch does not introduce a new rotation scheme.
The log remains in the application data directory. Show log location stays available while logging is disabled. It selects the file in Explorer on Windows, Finder on macOS, or through FileManager1 on Linux when Qt D-Bus and a supporting file manager are available. Otherwise it opens the containing directory with the platform default handler. A log that does not exist yet opens its directory. Qt D-Bus is optional on Unix builds; Windows/macOS do not acquire that dependency.
Application options:
| Argument | Effect |
|---|---|
--help, -h |
Print usage and exit before GUI/settings/database initialization. |
--version, -v |
Print name/version and exit before GUI initialization. |
--debug |
Enable console logging in this process. |
--show |
Show the main window; forward to an existing instance when present. |
--exit |
Exit an existing instance; do not start a new UI. |
-- |
End application options; subsequent arguments must be feed URLs. |
feed:URL |
Open Add Feed using the existing feed protocol handling. |
Qt processes its own platform arguments before normal application argument
validation. Unknown application arguments report an error and return status 1.
Help/version can be used without a graphical session. On Windows a requested
console is attached or created when necessary, without reopening valid redirected
CRT streams. Windows shells may require start /wait (cmd) or Start-Process -Wait
(PowerShell) to wait for a GUI-subsystem executable.
Single-instance commands forward only --show, --exit and feed URLs. --debug is never forwarded or interpreted as a feed. To debug the UI, exit the existing instance and launch again with --debug. A second launch with --debug reports this limitation; it cannot redirect the original process's output to a new terminal.
Example: notquiterss --debug 2>session.log. File logging remains independently
controlled in Settings. Logs can contain feed/article URLs and other diagnostics.
The optional Qt Test project tests/logging/logging.pro covers argument handling
and log sink selection, including file-disabled/console-enabled operation. Use
the matching Qt5 or Qt6 qmake. It is separate from the application build.
Manual checks on supported platforms:
- Start normally; style/sharing/link diagnostics should appear only in debug.log.
- Toggle file logging off/on with the UI running. Confirm writes stop/resume and existing contents are retained. Restart and check that the preference persists.
- Launch with --debug, then disable file logging. Console diagnostics should continue. Check redirection and a message generated by a worker thread.
- Show log location with and without an existing file, and with logging disabled.
- Check --help/-h, --version/-v, --show, --exit and feed URLs. Try --debug while an instance is running and confirm only the intended commands are forwarded.
No application compilation, launch, or Qt Test execution was performed during patch preparation; static checks do not establish runtime platform behavior.