MCPcopy Create free account
hub / github.com/GCWing/BitFun / init_file_logging_at

Function init_file_logging_at

src/apps/cli/src/logging.rs:350–380  ·  view source on GitHub ↗
(session_log_dir: &Path, log_level: tracing::Level)

Source from the content-addressed store, hash-verified

348}
349
350pub fn init_file_logging_at(session_log_dir: &Path, log_level: tracing::Level) -> CliLogPaths {
351 fs::create_dir_all(session_log_dir).ok();
352 let paths = build_log_paths(session_log_dir);
353
354 let app_writer = create_rotating_writer(session_log_dir, "app");
355 let ai_writer = create_rotating_writer(session_log_dir, "ai");
356 let flashgrep_writer = create_rotating_writer(session_log_dir, "flashgrep");
357
358 if let (Ok(app_writer), Ok(ai_writer), Ok(flashgrep_writer)) =
359 (app_writer, ai_writer, flashgrep_writer)
360 {
361 tracing_subscriber::registry()
362 .with(build_file_layer(app_writer, is_app_target, log_level))
363 .with(build_file_layer(ai_writer, is_ai_target, log_level))
364 .with(build_file_layer(
365 flashgrep_writer,
366 is_flashgrep_target,
367 log_level,
368 ))
369 .init();
370 } else {
371 tracing_subscriber::fmt()
372 .with_max_level(log_level)
373 .with_target(true)
374 .with_writer(std::io::stderr)
375 .with_ansi(false)
376 .init();
377 }
378
379 paths
380}
381
382pub fn init_file_logging(log_level: tracing::Level) -> CliLogPaths {
383 let logs_root = resolve_logs_root();

Callers 1

init_file_loggingFunction · 0.85

Calls 6

create_dir_allFunction · 0.85
build_log_pathsFunction · 0.85
create_rotating_writerFunction · 0.85
build_file_layerFunction · 0.85
okMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected