#log #unwrap #logging #default #tracing

unwrap-log

非panic的OptionResult解包的替代方案,以警告级别记录日志

2个版本

0.1.1 2023年8月6日
0.1.0 2023年8月6日

#553 in 调试

Unlicense OR MIT

9KB
133

unwrap-log

非panic的OptionResult解包的替代方案,以警告级别记录日志。

License: MIT License: Unlicense crates.io docs.rs

示例

use unwrap_log::{OptionExt, ResultExt};
use env_logger::Builder;
use log::LevelFilter::Warn;

Builder::new().filter_level(Warn).init();

let x: i32 = None.unwrap_or_default_log();
assert_eq!(x, 0);

let y: i32 = Err("oops").unwrap_or_default_log();
assert_eq!(y, 0);

输出

[1970-01-01T00:00:00Z WARN  my_crate] src\main.rs:8:23 encountered `None`
[1970-01-01T00:00:00Z WARN  my_crate] src\main.rs:11:30 encountered `Err("oops")`

依赖项

~87KB