12个版本 (6个破坏性更新)
使用旧的Rust 2015
| 0.8.0 | 2017年8月9日 |
|---|---|
| 0.7.1 | 2017年4月24日 |
| 0.7.0 | 2017年2月11日 |
| 0.2.1 | 2016年12月26日 |
#28 in #err
883 每月下载量
在 4 crates 中使用
30KB
571 行
stderr
一个使用宏将内容写入 io::stderr() 的库,就像 print!()/println!() 一样用于 rust。
用法
在 Cargo.toml 中
[dependencies]
stderr = "0.8.0"
关于 stderr
用法与 print!/println! 相同。
err!/errln!:如果写入io::stderr()失败,则引发恐慌。errst!/errstln!:如果写入io::stderr()失败,则不执行任何操作(静默->st)。
示例
#[macro_use]
extern crate stderr;
fn main() {
println!("err!/errln!/errst!/errstln!()@stderr !");
let vec = vec![1, 2, 3, 4, 5];
let s = std::env::args().nth(0).unwrap();
err!("err!(expr\\n)\n");
err!("err!(String: vec![1, 2, 3, 4, 5])\n{}: {:?}", s, vec);
errln!();
errln!("errln!(expr)");
println!();
errst!("errst!(expr\\n)\n");
errst!("errst!(String: vec![1, 2, 3, 4, 5])\n{}: {:?}", s, vec);
errstln!();
errstln!("errstln!(expr)");
}
如果您只需要 errxxx 并且不希望被其他宏污染,您可以使用
- 使用 v0.3.0(此版本开始的部分已稳定)
在 Cargo.toml 中
[dependencies]
stderr = "0.3.0"
或者
- 通过
macro_use仅导入所需的宏
在代码中
#[macro_use(err,errln,errst,errstln)]
extern crate stderr;
关于 StaticMut 或 log::*,请参阅 文档
变更日志
2017-0530 0.8.0 log::*, StaticMut
2017-0424 0.7.1 loc!() 和 Loger::init(module_path!())
2017-0211 0.7.0 支持多个包。
2017-0126 0.6.1 不要重复初始化,修复 #2。
2017-0126 0.6.0 重构并更新 API 到 stderr::Loger; init!(),db!(),dbln!(),dbst!(),dbstln!() 用于 LOG=module_path!() 和 --log/-log module_path!(),增加文档。
2017-0116 0.5.0 为 stderr::loger::Loger;init(), debug!(),debugln!(),debugst!(),debugstln!() 用于 LOG=debug 和 --log/-log debug。
依赖项
~0.6–1MB
~15K SLoC