xref: /wasmtime-44.0.1/docs/cli-logging.md (revision 566669ee)
1# Logging in the `wasmtime` CLI
2
3Wasmtime's libraries use Rust's [`log`] crate to log diagnostic
4information, and the `wasmtime` CLI executable uses [`pretty_env_logger`]
5by default for logging this information to the console.
6
7Basic logging is controlled by the `WASMTIME_LOG` environment variable. For example,
8To enable logging of WASI system calls, similar to the `strace` command on Linux,
9set `WASMTIME_LOG=wasmtime_wasi=trace`.
10
11```sh
12$ WASMTIME_LOG=wasmtime_wasi=trace hello.wasm
13[...]
14TRACE wiggle abi{module="wasi_snapshot_preview1" function="fd_write"} wasmtime_wasi::preview1::wasi_snapshot_preview1                     > fd=Fd(1) iovs=*guest 0x14/1
15Hello, world!
16TRACE wiggle abi{module="wasi_snapshot_preview1" function="fd_write"}: wasmtime_wasi::preview1::wasi_snapshot_preview1: result=Ok(14)
17TRACE wiggle abi{module="wasi_snapshot_preview1" function="proc_exit"}: wasmtime_wasi::preview1::wasi_snapshot_preview1: rval=1
18TRACE wiggle abi{module="wasi_snapshot_preview1" function="proc_exit"}: wasmtime_wasi::preview1::wasi_snapshot_preview1: result=Exited with i32 exit status 1
19```
20
21Wasmtime can also redirect the log messages into log files, with the
22`-D log-to-files` option. It creates one file per thread within Wasmtime, with
23the files named `wasmtime.dbg.*`.
24
25[`log`]: https://crates.io/crates/log
26[`pretty_env_logger`]: https://crates.io/crates/pretty_env_logger
27