Getting Logs
We use journald (opens in a new tab), which is systemd default log management service, to collect logs generated by the node and the engine. To interact with it, you'll use journalctl. Below are some useful commands when debugging your validator node.
Journalctl 101
Getting all logs for unit
journalctl -u chainflip-node.serviceThis will output all logs generated by that unit. You hit space to scroll through the logs from older to newer.
Following logs
If you want to see logs in real time, run the following:
journalctl -f -u chainflip-node.serviceUsing time ranges
To filter your logs using time ranges you can run the following:
Relative time range
journalctl -u chainflip-node.service --since "1 hour ago"Specific time ranges
journalctl -u chainflip-node.service --since "2023-06-20 23:15:00" --until "2023-06-20 23:25:00"Setting Log Levels
Most of the time it is ok to just use the default log levels. However, these can be changed, either via environment variable, or dynamically.
Environment Variable Log Level Changes
The RUST_LOG environment variable controls the initial filtering directives if specified at engine startup.
For example:
export RUST_LOG="debug,warp=off,hyper=off,jsonrpc=off,web3=off,reqwest=off"Dynamic Log Level Changes
Returns the current filtering directives:
curl -X GET 127.0.0.1:36079/tracingNote: The port used by the engine to accept these queries can be configured in your
Settings.tomlfile.
Sets the filter directives so the default is DEBUG, and the logging in modules warp, hyper, jsonrpc, web3, and reqwest is turned off:
curl --json '"debug,warp=off,hyper=off,jsonrpc=off,web3=off,reqwest=off"' 127.0.0.1:36079/tracingEquivalent to the above, but without using the --json short-hand:
curl -X POST -H 'Content-Type: application/json' -d '"debug,warp=off,hyper=off,jsonrpc=off,web3=off,reqwest=off"' 127.0.0.1:36079/tracingThe syntax for specifying filtering directives is given here (opens in a new tab).