#logging #string #formatted #macro #console #output #returning

bin+lib fmt-log

用于控制台日志记录的宏,同时返回格式化后的字符串

2 个版本

0.1.1 2024年2月28日
0.1.0 2024年2月28日

#7 in #returning

MIT 许可证

5KB

fmt_log

此模块包含使用 std::println!std::eprintln! 宏将日志记录到控制台的宏,同时也返回格式化后的字符串。

免责声明:这最初是一个关于如何创建一个类似 std::println! 的自定义宏的有趣实验,现在我正在用它来打印日志并同时获取格式化后的输出。

fmt_printf 示例

use fmt_log::fmt_printf;

let s1 = "Hello";
let s2 = String::from("world!");
let n1 = 123;

let output = fmt_printf!("{}, {} {}", s1, s2, n1);

assert_eq!(output, format!("{}, {} {}", s1, s2, n1));

这将把 "Hello, world! 123" 记录到控制台。

fmt_errorf 示例

use fmt_log::fmt_errorf;

let s1 = "Hello";
let s2 = String::from("world!");
let n1 = 123;

let output = fmt_errorf!("{}, {} {}", s1, s2, n1);

assert_eq!(output, format!("{}, {} {}", s1, s2, n1));

这将把 "Hello, world! 123" 记录到 stderr。


lib.rs:

fmt_log

此模块包含使用 std::println!std::eprintln! 宏将日志记录到控制台的宏,同时也返回格式化后的字符串。

免责声明:这最初是一个关于如何创建一个类似 std::println! 的自定义宏的有趣实验,现在我正在用它来打印日志并同时获取格式化后的输出。

无运行时依赖