stderr 0.8.0

A library that using macro to write to io::stderr() like print!()/println!().
Documentation

Build status Latest version All downloads Downloads of latest version Documentation

stderr

A library that using macro to write to io::stderr() like print!()/println!() for rust.

Usage

On Cargo.toml:

 [dependencies]
 stderr = "0.8.0"

About stderr

Usage as same as print!/println!.

  1. err!/errln!: Panics if writing to io::stderr() fails.
  2. errst!/errstln!: Do nothing if writing to io::stderr() fails(silent->st).

Example

#[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)");
}

If you only need errxxx and don't want be polluted by other macros, you can:

  • use v0.3.0(The part has been stable since this version)

On Cargo.toml:

  [dependencies]
  stderr = "0.3.0"

Or

  • Only import you need by macro_use

On Code:

  #[macro_use(err,errln,errst,errstln)]
  extern crate stderr;

About StaticMut or log::*, please read document

ChangLog

2017-0530 0.8.0 log::*, StaticMut

2017-0424 0.7.1 loc!() and Loger::init(module_path!())

2017-0211 0.7.0 Supports multiple packages.

2017-0126 0.6.1 Don't repeat initialization,fix #2.

2017-0126 0.6.0 Refactoring and update API to stderr::Loger; init!(),db!(),dbln!(),dbst!(),dbstln!() for LOG=module_path!() and --log/-log module_path!(),add Documentation.

2017-0116 0.5.0 Add stderr::loger::Loger;init(), debug!(),debugln!(),debugst!(),debugstln!() for LOG=debug and --log/-log debug.