A tiny logging setup for Rust applications
I got used to logging my apps in Clojure with Twig and in LFE with Logjam, so here this is.
I like to put my logging setup in YAML config files for my apps, but however
you prefer to do that, you'll need to eventually populate the
twyg::LoggerOpts
struct:
rust
let opts = twyg::LoggerOpts{
colored: true,
file: "".to_string(),
level: "debug".to_string(),
report_caller: true,
};
Options:
colored
: setting to false will disable ANIS colors in the logging outputfile
: provide a path to a file, and output will be logged there toolevel
: case-insensitive logging levelreport_caller
: setting to true will output the filename and line number
where the logging call was madeWith the opts defined, make the setup call:
rust
match twyg::setup_logger(&opts) {
Ok(_) => {},
Err(error) => {
panic!("Could not setup logger: {:?}", error)
},
};
All subsequent calls to the standard Rust log functions will use this setup, providing output like the following:
The output in the screenshot above (click for a a full-sized view) is from running the little demo in main.rs.