Capture and record logs for tracing span id

This crate allow testing if function emitted logs.

Example

Example how to use it with cucumber, you can find here.

```rust use tracing::{error, span, Level}; use tracingspancapture::{RecordedLogs, TracingSpanCaptureLayer}; use tracingsubscriber::layer::SubscriberExt; use tracingsubscriber::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");

} ```

License

Licensed under either of: