Crates.io | vlog |
lib.rs | vlog |
version | 0.1.4 |
source | src |
created_at | 2018-04-14 16:09:42.419475+00 |
updated_at | 2018-05-09 00:21:53.876139+00 |
description | Macros to do stdout / stderr logs based on verbosity level. |
homepage | |
repository | https://github.com/guangie88/vlog-rs |
max_upload_size | |
id | 60581 |
size | 17,930 |
Macros to do stdout / stderr logs based on verbosity level, which take in the
same arguments as
println!
macro.
Useful for CLI applications. The default verbosity level is 0, and the supported
max verbosity level is 3, which is equivalent to -vvv
flags as seen in most
Linux CLI applications.
#[macro_use]
extern crate vlog;
use vlog::{get_verbosity_level, set_verbosity_level};
fn main() {
// default verbosity level is 0
assert_eq!(0, get_verbosity_level());
v0!("v0 stdout prints");
v1!("v1 stdout won't print");
v2!("v2 stdout won't print");
v3!("v3 stdout won't print");
// set custom verbosity level
set_verbosity_level(1);
assert_eq!(1, get_verbosity_level());
v0!("{} stdout prints", "v0");
v1!("{} stdout prints", "v1");
v2!("{} stdout won't print", "v2");
v3!("{} stdout won't print", "v3");
// set custom max verbosity level
set_verbosity_level(3);
assert_eq!(3, get_verbosity_level());
v0!("{} stdout prints", "v0");
v1!("{} stdout prints", "v1");
v2!("{} stdout prints", "v2");
v3!("{} stdout prints", "v3");
// stderr macros also available
ve0!("{} stderr prints", "ve0");
ve1!("{} stderr prints", "ve1");
ve2!("{} stderr prints", "ve2");
ve3!("{} stderr prints", "ve3");
}