nikania
Posted on August 10, 2022
How to log in substrate pallets and how to see logs when running node (can be useful to see existing logs in polkadot when debugging).
Import log crate in Cargo.toml of pallets/template
[dependencies]
log = "0.4"
Add some logging to extrinsic do_something
in pallet-template (gibberish in my case)
log::trace!(target: "lalala", "do_something is working!");
log::trace!(target: "ononono", "do_something is working!");
log::trace!(target: "test::werr", "do_something is working!");
...
log::trace!(target: "lalala", "do_something is done!");
log::trace!(target: "ononono", "do_something is done!");
log::trace!(target: "test::werr", "do_something is done!");
Build node, and run with log filtering (filters only target: "lalala"
trace logs):
./target/release/node-template --dev --tmp --log lalala=trace
when execute extrinsics, trace log is in output:
different filtering (notice that target: "test::werr"
can be filtered like that test=trace
)
./target/release/node-template --dev --tmp --log lalala=trace ononono=trace test=trace
--different output
For example to trace xcm messages in parachains/relay chain filter can be used: --log xcm=trace
💖 💪 🙅 🚩
nikania
Posted on August 10, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.