#tracing #logging #log #tracing-subscriber #test

tracing-span-capture

捕获并记录跟踪跨度 ID 的日志

1 个不稳定版本

0.0.1 2023 年 3 月 29 日

#60#tracing-subscriber

每月 26 次下载

MIT/Apache

12KB
76

捕获并记录跟踪跨度 ID 的日志

此包允许测试函数是否生成了日志。

示例

示例如何使用它与 cucumber,你可以在这里找到 示例

use tracing::{error, span, Level};
use tracing_span_capture::{RecordedLogs, TracingSpanCaptureLayer};
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;

fn tested_code() {
    error!("try capture this");
}

fn main() {
    tracing_subscriber::fmt()
        .finish()
        .with(TracingSpanCaptureLayer)
        .init();

    let span = span!(Level::INFO, "");
    let record = RecordedLogs::new(&span);
    {
        let _enter = span.enter();
        tested_code();
    }
    
    let logs = record.into_logs();
    let last_log = logs.into_iter().rev().next().unwrap();
    assert_eq!(last_log.message, "try capture this");
}

许可证

根据以下任一许可证授权

依赖关系

~1MB
~18K SLoC