diff --git a/veilid-server/src/veilid_logs.rs b/veilid-server/src/veilid_logs.rs index 684dd7f3..10542db6 100644 --- a/veilid-server/src/veilid_logs.rs +++ b/veilid-server/src/veilid_logs.rs @@ -238,9 +238,15 @@ impl VeilidLogs { settingsr.logging.file.path ))?; - let appender = tracing_appender::rolling::never(log_parent, Path::new(log_filename)); - let (non_blocking_appender, non_blocking_guard) = - tracing_appender::non_blocking(appender); + let (non_blocking_appender, non_blocking_guard) = if settingsr.logging.file.append { + let appender = + tracing_appender::rolling::never(log_parent, Path::new(log_filename)); + tracing_appender::non_blocking(appender) + } else { + tracing_appender::non_blocking::NonBlocking::new(std::fs::File::create( + log_filename, + )?) + }; file_guard = Some(non_blocking_guard); let filter = veilid_core::VeilidLayerFilter::new( @@ -254,6 +260,7 @@ impl VeilidLogs { let layer = fmt::Layer::new() .compact() .with_writer(non_blocking_appender) + .with_ansi(false) .with_filter(filter.clone()); filters.insert("file", filter);