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