5个版本

0.3.3 2024年4月24日
0.3.2 2024年4月23日
0.3.1 2024年4月22日
0.3.0 2024年4月22日
0.2.0 2024年4月22日

4#trim

Download history · Rust 包仓库 236/week @ 2024-04-25 · Rust 包仓库 120/week @ 2024-05-02 · Rust 包仓库 143/week @ 2024-05-09 · Rust 包仓库 47/week @ 2024-05-16 · Rust 包仓库 26/week @ 2024-05-23 · Rust 包仓库 44/week @ 2024-05-30 · Rust 包仓库 80/week @ 2024-06-06 · Rust 包仓库 38/week @ 2024-06-13 · Rust 包仓库 75/week @ 2024-06-20 · Rust 包仓库 110/week @ 2024-06-27 · Rust 包仓库 85/week @ 2024-07-04 · Rust 包仓库 73/week @ 2024-07-11 · Rust 包仓库 148/week @ 2024-07-18 · Rust 包仓库 215/week @ 2024-07-25 · Rust 包仓库 59/week @ 2024-08-01 · Rust 包仓库 116/week @ 2024-08-08 · Rust 包仓库

每月568次下载

Apache-2.0

16KB
197

detailer

工作流程日志记录的便捷工具。

关于

这是一个简洁、低依赖的日志记录工具。此项目不使用unsafe代码。它只依赖于std和log。

详细信息

Detailer允许你在一份log报告中记录有关工作流程的所有相关信息。有时你可能需要这样做。有时你可能偶尔需要这样做。

禁用Detailer日志行的开销与禁用日志级别的开销相似,例如,当前级别设置为Info时,类似于log::debug!()。启用detail!()语句需要将一个writeln!()语句写入String。如果您想保持这种低廉的成本并且有大量的这些detailer,您应该考虑使用显式的flush()并重复使用它们。如果您使用计时,请记住在时间应该重新开始时reset()

use detailer::{Detailer, detail, new_detailer, scope};

let mut detailer = new_detailer!(); // Info level, WithTimings
detail!(detailer, "some {} message", "log");

您可以考虑将Detailer作为参数传递给应该在Detailer启用时记录详细信息的函数。这些函数不需要检查Detailer:它们只需要记录它们的详细信息,类似于您使用log的方式。

fn expensive_work(detailer: &mut Detailer, name: &str) {
    let _guard = scope!(detailer, "expensive work: {name}"); // indent lines under the expensive_work stack
    detail!(detailer, "some part of the work");
    detail!(detailer, "some other part of the work");
}

依赖关系

~87KB