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:
journalctl --no-pager -u coolercontrold -u coolercontrol-liqctld -n 10000 > coolercontrol-daemons.log
To follow current log output live in your terminal:
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
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:
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
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:
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
# restart the services (coolercontrol-liqctld is handled automatically)
sudo systemctl restart coolercontrold
To capture log output to a file โ
# 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: โ
# 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 โ
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:
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:
sudo systemctl restart coolercontrold
View logs
journalctl -e -u coolercontrol-liqctld
Or to output to a log file:
journalctl --no-pager -u coolercontrol-liqctld > coolercontrol-liqctld.log