#print #err #log #static #cargo-toml #errst

unmaintained stderr

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

12 releases (6 breaking)

Uses old Rust 2015

0.8.0 Aug 9, 2017
0.7.1 Apr 24, 2017
0.7.0 Feb 11, 2017
0.2.1 Dec 26, 2016

#27 in #err

Download history 179/week @ 2024-07-19 330/week @ 2024-07-26 314/week @ 2024-08-02 137/week @ 2024-08-09 455/week @ 2024-08-16 114/week @ 2024-08-23 109/week @ 2024-08-30 161/week @ 2024-09-06 157/week @ 2024-09-13 126/week @ 2024-09-20 294/week @ 2024-09-27 164/week @ 2024-10-04 342/week @ 2024-10-11 327/week @ 2024-10-18 319/week @ 2024-10-25 236/week @ 2024-11-01

1,251 downloads per month
Used in 4 crates

MIT license

30KB
571 lines

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.

Dependencies

~0.6–1MB
~15K SLoC