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