reth_tracing/test_tracer.rs
1use tracing_subscriber::EnvFilter;
2
3use crate::{Layers, Tracer, TracingGuards};
4
5/// Initializes a tracing subscriber for tests.
6///
7/// The filter is configurable via `RUST_LOG`.
8///
9/// # Note
10///
11/// The subscriber will silently fail if it could not be installed.
12#[derive(Debug, Clone, Default)]
13#[non_exhaustive]
14pub struct TestTracer;
15
16impl Tracer for TestTracer {
17 fn init_with_layers(self, _layers: Layers) -> eyre::Result<TracingGuards> {
18 let _ = tracing_subscriber::fmt()
19 .with_env_filter(EnvFilter::from_default_env())
20 .with_writer(std::io::stderr)
21 .try_init();
22 Ok(TracingGuards::default())
23 }
24}