2个稳定版本
使用旧的Rust 2015
1.0.1 | 2017年5月23日 |
---|
#16 in #log-debug
5KB
68 行
未来轮询日志
此crate为所有futures添加了一个"inspect"方法,允许您使用名称标记futures,并查看所有对它们的poll调用的日志。
用法
通过log
crate设置一个logger。然后使用扩展trait
extern crate futures_poll_log;
use futures_poll_log::LoggingExt;
let _: Result<i32, _> =futures::future::ok(3)
.inspect("immeditate future")
.map(|i| {
i*2
})
.inspect("mapped future")
.and_then(|_| {
Err("ooops".to_string())
})
.inspect("failing future")
.wait();
这将记录
DEBUG - Polling future `failing future'
DEBUG - Polling future `mapped future'
DEBUG - Polling future `immeditate future'
DEBUG - Future `immeditate future' polled: Ok(Ready(3))
DEBUG - Future `mapped future' polled: Ok(Ready(6))
DEBUG - Future `failing future' polled: Err("ooops")
注意,它记录了异步状态。
日志目标
日志目标是futures_log
。
静音
使用带有"silence"功能的crate构建将使效果完全消失,包括中间futures。该库也将停止绑定到log
库。
这允许您在未来调试会话中保留标记。
许可
MIT
依赖
~215KB