(
writer: SharedRotatingWriter,
target_filter: F,
default_level: tracing::Level,
)
| 329 | } |
| 330 | |
| 331 | fn build_file_layer<S, F>( |
| 332 | writer: SharedRotatingWriter, |
| 333 | target_filter: F, |
| 334 | default_level: tracing::Level, |
| 335 | ) -> impl tracing_subscriber::Layer<S> + Send + Sync |
| 336 | where |
| 337 | S: tracing::Subscriber + for<'span> tracing_subscriber::registry::LookupSpan<'span>, |
| 338 | F: Fn(&str) -> bool + Send + Sync + 'static, |
| 339 | { |
| 340 | tracing_subscriber::fmt::layer() |
| 341 | .with_writer(move || writer.clone()) |
| 342 | .with_ansi(false) |
| 343 | .with_target(true) |
| 344 | .with_thread_ids(true) |
| 345 | .with_filter(filter_fn(move |metadata| { |
| 346 | target_filter(metadata.target()) && is_enabled_for_target(metadata, default_level) |
| 347 | })) |
| 348 | } |
| 349 | |
| 350 | pub fn init_file_logging_at(session_log_dir: &Path, log_level: tracing::Level) -> CliLogPaths { |
| 351 | fs::create_dir_all(session_log_dir).ok(); |
no test coverage detected