8

如果我们有以下代码

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 上启用调试级别输出?

4

3 回答 3

10

执行程序时,需要RUST_LOG适当设置环境变量;它是(就这一点而言)一个逗号分隔的 key=value 列表;键是板条箱或模块名称,例如extraor std::option; 这些值是数字,映射到日志级别:

  • 1:错误
  • 2:警告
  • 3:信息
  • 4:调试

(每个级别都包括更重要的级别。)

在命令提示符中,myprog显示警告和错误的编译和运行将类似于:

rustc myprog.rs
set RUST_LOG=myprog=4
myprog.exe
于 2013-08-25T21:57:42.487 回答
3

您也可以通过将它们设置为您的环境来设置程序中的日志记录级别。你必须写的声明是:

RUST_LOG=YOUR-PROJECT-NAME=log_level

例如: RUST_LOG=Hello-World=infoRUST_LOG=Hello-World=3

设置日志级别后,下一步是使用env_logger::init()初始化它们。

于 2019-09-23T10:28:42.190 回答
2

如果您查看env_logger 文档,它会说:

“默认情况下,除了错误级别之外,所有日志记录都被禁用。”

您设置了一个 ENVIRONMENT 变量。在你的情况下: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提示 ->

在此处输入图像描述

于 2021-08-19T13:19:05.467 回答