#macro #development #line-numbers #file-line

no-std 这里

一个简单的Rust宏,用于打印当前文件和行号

3个稳定版本

1.1.1 2021年7月14日
1.1.0 2021年6月23日
1.0.0 2021年6月19日

#778 in 调试

27每月下载量
用于2个包(通过segsource-derive

MIT授权

10KB
108

here

最古老且至今仍最常用的调试技术之一看起来像这样

// Do something
println!("here");
// Do something else

或者如果你觉得真的很有趣

// Do something
println!("here 1");
// Do something else
println!("here 2");
// Do yet another thing

相当原始,但很有效...只要你找到放置打印语句的地方。

好吧,here就在这里帮助你!使用很简单

here!(); // prints "filename:lineno" to stdout

什么?你想要打印到stderr而不是stdout?那么只需使用ehere。它的味道和here一样好,但带有stderr!

哦?所以你已经决定使用神奇的log包?别担心,我们也为你准备好了。启用可选的log功能后,你将获得五个新的宏!每个日志级别一个!

here_trace!(); // log a trace message of "filename:lineno"
here_debug!(); // log a debug message of "filename:lineno"
here_info!(); // log a info message of "filename:lineno"
here_warn!(); // log a warn message of "filename:lineno"
here_error!(); // log a error message of "filename:lineno"

嗯?你想要添加更多信息?别担心,我们也有解决方案。每个here宏都可以接受格式字符串和参数,就像format!宏一样!

here!("A message."); // prints "(filename:lineno): A message."
here!("Something: 0x{:02x}", 16);  // prints "(filename:lineno): Something: 0x0f"

授权:MIT

依赖项

~22KB