如果我们有以下代码:
fn main() {
error!("This is an error log")
warn!("This is a warn log")
info!("this is an info log")
debug!("This is a debug log")
}
在Windows上如何启用调试级别的输出?
在执行程序时,您需要适当设置RUST_LOG
环境变量;就此而言,它是一个以逗号分隔的关键字=值列表;关键字是板条箱或模块名称,例如extra
或std::option
;值是映射到日志级别的数字:
(每个级别都包括更重要的级别。)
在命令提示符中,编译和运行myprog
并显示警告和错误需要这样做:
rustc myprog.rs
set RUST_LOG=myprog=4
myprog.exe
您需要设置一个环境变量,在您的情况下:"默认情况下除了错误级别之外,所有日志记录都被禁用。"
RUST_LOG=debug
。extern crate env_logger;
extern crate log;
use log::{debug, error, info, warn};
fn main() {
env_logger::init();
error!("[!] error");
warn!("[!] warn");
info!("[!] info");
debug!("[!] debug");
}
/*
[2021-08-19T13:14:15Z ERROR cliapp] [!] error
[2021-08-19T13:14:15Z WARN cliapp] [!] warn
[2021-08-19T13:14:15Z INFO cliapp] [!] info
[2021-08-19T13:14:15Z DEBUG cliapp] [!] debug
*/
CLion小贴士 ->
您可以通过将其设置为环境变量来在程序中设置日志级别。您需要编写的语句是:
RUST_LOG=YOUR-PROJECT-NAME=log_level
例如:RUST_LOG=Hello-World=info
或 RUST_LOG=Hello-World=3
设置日志级别后,下一步是使用env_logger::init()进行初始化。
RUST_LOG=myprog=4\n rustc myprog.rs --cfg debug\n myprog.exe
? - Daniel Fath--cfg=debug
不再需要手动设置,因为此选项已经被默认打开了。如果你不需要调试模式,则需要使用--cfg=nodebug
选项。 - Steve Klabnik--cfg ndebug
。 - Chris Morgan