Merge pull request #78 from artemws/main

Disable color logs
This commit is contained in:
Alexey
2026-02-15 11:28:40 +03:00
committed by GitHub
2 changed files with 17 additions and 1 deletions

View File

@@ -164,6 +164,10 @@ pub struct GeneralConfig {
#[serde(default)]
pub log_level: LogLevel,
/// Disable colored output in logs (useful for files/systemd)
#[serde(default)]
pub disable_colors: bool,
}
impl Default for GeneralConfig {
@@ -179,6 +183,7 @@ impl Default for GeneralConfig {
middle_proxy_nat_probe: false,
middle_proxy_nat_stun: None,
log_level: LogLevel::Normal,
disable_colors: false,
}
}
}

View File

@@ -133,13 +133,24 @@ async fn main() -> std::result::Result<(), Box<dyn std::error::Error>> {
};
let (filter_layer, filter_handle) = reload::Layer::new(EnvFilter::new("info"));
// Configure color output based on config
let fmt_layer = if config.general.disable_colors {
fmt::Layer::default().with_ansi(false)
} else {
fmt::Layer::default().with_ansi(true)
};
tracing_subscriber::registry()
.with(filter_layer)
.with(fmt::Layer::default())
.with(fmt_layer)
.init();
info!("Telemt MTProxy v{}", env!("CARGO_PKG_VERSION"));
info!("Log level: {}", effective_log_level);
if config.general.disable_colors {
info!("Colors: disabled");
}
info!(
"Modes: classic={} secure={} tls={}",
config.general.modes.classic, config.general.modes.secure, config.general.modes.tls