This guide describes how to capture logs to a file and search through the file for important events.
Log file configuration
lotus-miner process generates Go logs and Rust logs. Both of these can be redirected to individual files.
lotus-mineras a systemd service.
Redirect Go logs to a file
By default, lotus-miner redirect all logs to the standard output if not running as a systemd service. To change this behavior, add the following variable to the
.bashrc file and restart the Lotus miner process to start redirecting all logs to the file.
export GOLOG_OUTPUT=FILE >> ~/.bashrc export GOLOG_FILE="$HOME/miner.log" >> ~/.bashrc && source ~/.bashrc
Redirect Rust logs to a standard output
By default the
fil_logger library used by
rust-fil-proof doesn’t log anything. You can change this by setting the RUST_LOG environment variable to another level. This will show log output on stderr which can be redirected to a file in the shell while launching the
export RUST_LOG=info >> ~/.bashrc && source ~/.bashrc
The log-level can be chosen between 5 options:
Change logging verbosity
The verbosity of the
lotus-miner logs can be changed without restarting the lotus. The following command can be used to list different subsystems within the
lotus-miner process and change the verbosity of individual subsystem to get more/less detailed logs.
lotus-miner log list
To change the verbosity, please run:
lotus-miner log set-level --system chain debug
The log-level can be chosen between 4 options:
You can specify multiple subsystems to change the log level of multiple subsystems at once.
lotus-miner log set-level --system chain --system chainxchg debug
Searching through logs
To look for logs related to mining a block, you can check with following commands.
cat /path/to/log | grep "mined"
To look for logs related to winning a block, you can check with following commands.
cat /path/to/log | grep "isEligible"