Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 记录源文件和行号_Debugging_Logging_Rust - Fatal编程技术网

Debugging 记录源文件和行号

Debugging 记录源文件和行号,debugging,logging,rust,Debugging,Logging,Rust,使用Rust的log和env_logger板条箱,如何让输出包括调用日志调用的源文件和行号?log::Record具有文件和行方法。您必须检查env_logger的配置,以查看是否有内置的支持,否则您可能必须配置自定义格式化程序并手动滚动它。在下面的示例中logger_示例是我在Cargo.toml中的二进制文件的名称,例如 [[bin]] name = "logger_example" path = "src/bin/logger_example.rs"

使用Rust的
log
env_logger
板条箱,如何让输出包括调用日志调用的源文件和行号?

log::Record具有
文件
方法。您必须检查env_logger的配置,以查看是否有内置的支持,否则您可能必须配置自定义格式化程序并手动滚动它。

在下面的示例中
logger_示例
是我在
Cargo.toml
中的二进制文件的名称,例如

[[bin]]
name = "logger_example"
path = "src/bin/logger_example.rs"
您可以按如下方式自定义记录器的格式:

使用日志::{info,LevelFilter};
使用std::io::Write;
fn main(){
环境记录器::生成器::新建()
.格式(| buf,record |{
写吧(
缓冲器,
"{}:{} {} [{}] - {}",
record.file().unwrap_或(“未知”),
record.line().展开或(0),
chrono::Local::now().format(“%Y-%m-%dT%H:%m:%S”),
record.level(),
record.args()
)
})
.filter(一些(“记录器”示例),LevelFilter::Debug)
.init();
信息!(“你好,世界”)
}
输出为:

src/bin/logger_example.rs:20 2020-11-30T19:34:16 [INFO] - hello world
我在这里找到了答案: