#print #err #static #log #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

#28 in #err

Download history 181/week @ 2023-11-26 75/week @ 2023-12-03 216/week @ 2023-12-10 75/week @ 2023-12-17 131/week @ 2023-12-24 81/week @ 2023-12-31 175/week @ 2024-01-07 225/week @ 2024-01-14 257/week @ 2024-01-21 278/week @ 2024-01-28 231/week @ 2024-02-04 72/week @ 2024-02-11 198/week @ 2024-02-18 155/week @ 2024-02-25 359/week @ 2024-03-03 165/week @ 2024-03-10

883 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