Skip to content
On this page

Updated at:

Logs and Debugging โ€‹

The CoolerControl daemons mostly run as systemd system-level services. The journal system collects all logs from your system services, and you can collect and view those logs using the journalctl command. To see more logs, or to collect logs to fill out a bug report, use the following commands in your terminal:

To output logs to a file in your current directory:

bash
journalctl --no-pager -u coolercontrold -u coolercontrol-liqctld -n 10000 > coolercontrol-daemons.log

To follow current log output live in your terminal:

bash
journalctl -u coolercontrold -u coolercontrol-liqctld -f -n 100

To change the current log level, for example for debug output: *Note: debug logs produces a lot of output

bash
sudo mkdir -p /etc/systemd/system/coolercontrold.service.d && echo -e '[Service]'\\n'Environment="COOLERCONTROL_LOG=DEBUG"'\\n | sudo tee /etc/systemd/system/coolercontrold.service.d/debug.conf
sudo systemctl daemon-reload
sudo systemctl restart coolercontrold

Log Levels โ€‹

For practical purposes the GUI has essentially two log levels: INFO (default) and DEBUG.

The systemd services make use of a few more: ERROR, WARN, INFO, DEBUG and TRACE.

By default, any change sent to a hardware device is logged as INFO for the coolercontrold service. Since this may produce regular log output, depending on your system setup, you may prefer to change the log level to WARN, which will normally produce very little journal log output. See below for how to change this.

DEBUG logging โ€‹

To help diagnose issues enabling debug output is invaluable. It will produce a lot of output from the different internal systems to help determine what the cause for a particular issue might be.

Systemd Daemons โ€‹

This is a quick way to create a systemd service override that will enable Debug level log output for each service individually:

bash
sudo mkdir -p /etc/systemd/system/coolercontrold.service.d && echo -e '[Service]'\\n'Environment="COOLERCONTROL_LOG=DEBUG"'\\n | sudo tee /etc/systemd/system/coolercontrold.service.d/debug.conf && systemctl daemon-reload
bash
sudo mkdir -p /etc/systemd/system/coolercontrol-liqctld.service.d && echo -e '[Service]'\\n'Environment="COOLERCONTROL_LOG=DEBUG"'\\n | sudo tee /etc/systemd/system/coolercontrol-liqctld.service.d/debug.conf && systemctl daemon-reload

To remove the log overrides:

bash
sudo rm -r /etc/systemd/system/coolercontrold.service.d
sudo rm -r /etc/systemd/system/coolercontrol-liqctld.service.d
sudo systemctl daemon-reload
sudo systemctl restart coolercontrold
bash
# restart the services (coolercontrol-liqctld is handled automatically)
sudo systemctl restart coolercontrold

To capture log output to a file โ€‹

bash
# daemons
journalctl --no-pager -u coolercontrold -u coolercontrol-liqctld > coolercontrol-daemons.log
# It's often a good idea to limit the number of log messages with the -n option
journalctl --no-pager -u coolercontrold -u coolercontrol-liqctld -n 3000 > coolercontrol-daemons.log

To manually run the daemon and capture its log output: โ€‹

bash
# make sure the systemd service is not running:
sudo systemctl stop coolercontrold
# (adjust paths as needed)
COOLERCONTROL_LOG=DEBUG sudo -E ./coolercontrold &> /full/path/coolercontrol_20241112.log

Desktop Application โ€‹

bash
coolercontrol --debug

AppImage โ€‹

./CoolerControlD-x86_64.AppImage --debug

Liquidctl Debug logs โ€‹

Liquidctl is an essential library for CoolerControl, so if you notice an issue related to liquidctl - reporting problems is an easy and very valuable way to contribute to the project. Please check the existing issues and, if none matches your problem, use the appropriate template to create a new issue. When submitting an issue it's best to use the liquidctl CLI, or as an alternative, use the coolercontrol-liqctld --debug-liquidctl option for liquidctl debug output. To enable this for the systemd services:

bash
sudo mkdir -p /etc/systemd/system/coolercontrol-liqctld.service.d && echo -e '[Service]'\\n'Environment="COOLERCONTROL_LOG=DEBUG_LIQUIDCTL"'\\n | sudo tee /etc/systemd/system/coolercontrol-liqctld.service.d/debug.conf && systemctl daemon-reload

Restart services:

bash
sudo systemctl restart coolercontrold

View logs

bash
journalctl -e -u coolercontrol-liqctld

Or to output to a log file:

bash
journalctl --no-pager -u coolercontrol-liqctld > coolercontrol-liqctld.log

Released under the GPLv3+ License.