9个版本 (破坏性更新)
0.7.0 | 2023年10月13日 |
---|---|
0.6.0 | 2023年9月1日 |
0.5.0 | 2023年8月20日 |
0.4.0 | 2023年8月17日 |
0.1.0 | 2023年6月20日 |
#402 in 过程宏
23KB
417 代码行
clippy-tracing
这是一个粗糙的工具
这是一个用于在大型项目中添加、删除和检查tracing::instrument
的工具,在这些项目中手动将其添加到数千个函数中是不切实际的。
安装
cargo install clippy-tracing
用法
该工具在readme()
集成测试中进行了测试。
fn main() {
println!("Hello World!");
}
fn add(lhs: i32, rhs: i32) -> i32 {
lhs + rhs
}
#[cfg(tests)]
mod tests {
fn sub(lhs: i32, rhs: i32) -> i32 {
lhs - rhs
}
#[test]
fn test_one() {
assert_eq!(add(1,1), sub(2, 1));
}
}
clippy-tracing --action check # Missing instrumentation at {path}:9:4.\n
echo $? # 2
clippy-tracing --action fix
echo $? # 0
#[tracing::instrument(level = "trace", skip())]
fn main() {
println!("Hello World!");
}
#[tracing::instrument(level = "trace", skip(lhs, rhs))]
fn add(lhs: i32, rhs: i32) -> i32 {
lhs + rhs
}
#[cfg(tests)]
mod tests {
#[tracing::instrument(level = "trace", skip(lhs, rhs))]
fn sub(lhs: i32, rhs: i32) -> i32 {
lhs - rhs
}
#[test]
fn test_one() {
assert_eq!(add(1,1), sub(2, 1));
}
}
clippy-tracing --action check
echo $? # 0
clippy-tracing --action strip
echo $? # 0
fn main() {
println!("Hello World!");
}
fn add(lhs: i32, rhs: i32) -> i32 {
lhs + rhs
}
#[cfg(tests)]
mod tests {
fn sub(lhs: i32, rhs: i32) -> i32 {
lhs - rhs
}
#[test]
fn test_one() {
assert_eq!(add(1,1), sub(2, 1));
}
}
日志
当使用log
特性编译时,支持log_instrument
。
依赖项
~1.7–9.5MB
~72K SLoC