| Crates.io | logchop |
| lib.rs | logchop |
| version | 0.1.2 |
| created_at | 2021-01-31 20:01:04.315819+00 |
| updated_at | 2021-02-03 03:01:23.523673+00 |
| description | Log your `Result` and `Option` chains with inline methods. |
| homepage | https://github.com/arusahni/logchop |
| repository | https://github.com/arusahni/logchop |
| max_upload_size | |
| id | 348995 |
| size | 32,120 |
It's better than bad, it's good!
Log your Result and Option chains with inline methods.
Turn
match maybe_something {
Some(x) => Some(x),
None => {
debug!("Nothing found!");
None
}
}.
into
maybe_something.debug_none("Nothing found!")
This becomes handy when you start chaining from results
use logchop::*;
parse_id_string(id_str)
.trace_ok("Found id")
.debug_err("Couldn't parse ID")
.map_or_else(|id| get_widget_by_id(id), |_| get_default_widget())
.info_ok_format(|widget| format!("Found widget: {}", widget.name))
# Sucessful parse result
[trace] Found id: 12
[info ] Found widget: chainsaw
# Error parsing result
[debug] Couldn't parse ID: Invalid format
[info ] Found widget: concilation prize
Say goodbye to unnecessary blocks!
Add the following to your Cargo.toml:
logchop = "0.1"
and then import traits: use logchop::*