Crates.io | config-diag |
lib.rs | config-diag |
version | 1.0.2 |
source | src |
created_at | 2021-06-21 10:55:46.460271 |
updated_at | 2022-09-01 09:56:06.455598 |
description | Provide a .diag() function for diagnostic output if requested. |
homepage | |
repository | https://gitlab.com/ppentchev/config-diag-rs |
max_upload_size | |
id | 412819 |
size | 10,162 |
The ConfigDiag
trait may be used to decorate an object that stores some
kind of configuration information. It adds a diag
method that checks
whether verbose output has been requested and, if so, displays a message to
the standard error stream. If the diag_to_stderr
method is overridden and
it returns false, any diagnostic messages selected for display are sent to
the standard output stream instead.
Example:
use std::error;
use config_diag::ConfigDiag;
struct Config {
verbose: bool,
}
impl ConfigDiag for Config {
fn diag_is_verbose(&self) -> bool {
self.verbose
}
}
pub fn main() -> Result<(), Box<dyn error::Error>> {
let config = Config { verbose: true };
let event = 42;
config.diag(|| format!("Something happened: {}", event));
config.diag_("Got here!");
Ok(())
}