Build status Rust version Documentation Latest version All downloads Downloads of latest version

Logger that aims to provide a simple case of env_logger that just logs to stderr based on verbosity.

Documentation

Module documentation with examples

Usage

Add this to your Cargo.toml:

toml [dependencies] stderrlog = "0.2"

and this to your crate root:

rust extern crate stderrlog;

and this to your main():

rust stderrlog::new().verbosity(args.flag_v).quiet(args.flag_q).init().unwrap();

where your args struct is defined as:

rust struct Args { flag_v: usize, flag_q: bool, ... }

Docopt Example

```rust extern crate docopt;

[macro_use]

extern crate log; extern crate rustc_serialize; extern crate stderrlog;

use docopt::Docopt;

const USAGE: &'static str = " Usage: program [-q] [-v...] ";

[derive(Debug, RustcDecodable)]

struct Args { flagq: bool, flagv: usize, }

fn main() { let args: Args = Docopt::new(USAGE) .andthen(|d| d.decode()) .unwrapor_else(|e| e.exit());

stderrlog::new()
        .module(module_path!())
        .quiet(args.flag_q)
        .verbosity(args.flag_v)
        .init()
        .unwrap();
trace!("trace message");
debug!("debug message");
info!("info message");
warn!("warn message");
error!("error message");

// ...

} ```

clap Example

```rust

[macro_use]

extern crate clap;

[macro_use]

extern crate log; extern crate stderrlog;

use clap::{Arg, App};

fn main() { let m = App::new("stderrlog example") .version(crateversion!()) .arg(Arg::withname("verbosity") .short("v") .multiple(true) .help("Increase message verbosity")) .arg(Arg::withname("quiet") .short("q") .help("Silence all output")) .getmatches();

let verbose = m.occurrences_of("verbosity") as usize;
let quiet = m.is_present("quiet");

stderrlog::new()
    .module(module_path!())
    .quiet(quiet)
    .verbosity(verbose)
    .init()
    .unwrap();
trace!("trace message");
debug!("debug message");
info!("info message");
warn!("warn message");
error!("error message");

} ```