#log #log-debug #trace #logging

no-std futures-poll-log

一个用于跟踪futures中poll调用的crate

2个稳定版本

使用旧的Rust 2015

1.0.1 2017年5月23日

#16 in #log-debug

MIT 协议

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