[router] add --log-level to sgl-router (#6512)

This commit is contained in:
Zilin Zhu
2025-07-03 10:33:04 +08:00
committed by GitHub
parent 0626f678de
commit 82f021e22e
7 changed files with 36 additions and 27 deletions

View File

@@ -27,8 +27,8 @@ pub struct RouterConfig {
pub metrics: Option<MetricsConfig>,
/// Log directory (None = stdout only)
pub log_dir: Option<String>,
/// Verbose logging
pub verbose: bool,
/// Log level (None = info)
pub log_level: Option<String>,
}
/// Routing mode configuration
@@ -177,7 +177,7 @@ impl Default for RouterConfig {
discovery: None,
metrics: None,
log_dir: None,
verbose: false,
log_level: None,
}
}
}

View File

@@ -37,8 +37,8 @@ struct Router {
eviction_interval_secs: u64,
max_tree_size: usize,
max_payload_size: usize,
verbose: bool,
log_dir: Option<String>,
log_level: Option<String>,
service_discovery: bool,
selector: HashMap<String, String>,
service_discovery_port: u16,
@@ -129,7 +129,7 @@ impl Router {
discovery,
metrics,
log_dir: self.log_dir.clone(),
verbose: self.verbose,
log_level: self.log_level.clone(),
})
}
}
@@ -150,8 +150,8 @@ impl Router {
eviction_interval_secs = 60,
max_tree_size = 2usize.pow(24),
max_payload_size = 256 * 1024 * 1024, // 256MB default for large batches
verbose = false,
log_dir = None,
log_level = None,
service_discovery = false,
selector = HashMap::new(),
service_discovery_port = 80,
@@ -179,8 +179,8 @@ impl Router {
eviction_interval_secs: u64,
max_tree_size: usize,
max_payload_size: usize,
verbose: bool,
log_dir: Option<String>,
log_level: Option<String>,
service_discovery: bool,
selector: HashMap<String, String>,
service_discovery_port: u16,
@@ -208,8 +208,8 @@ impl Router {
eviction_interval_secs,
max_tree_size,
max_payload_size,
verbose,
log_dir,
log_level,
service_discovery,
selector,
service_discovery_port,
@@ -283,9 +283,9 @@ impl Router {
port: self.port,
worker_urls: self.worker_urls.clone(),
policy_config,
verbose: self.verbose,
max_payload_size: self.max_payload_size,
log_dir: self.log_dir.clone(),
log_level: self.log_level.clone(),
service_discovery_config,
prometheus_config,
request_timeout_secs: self.request_timeout_secs,

View File

@@ -278,9 +278,9 @@ pub struct ServerConfig {
pub port: u16,
pub worker_urls: Vec<String>,
pub policy_config: PolicyConfig,
pub verbose: bool,
pub max_payload_size: usize,
pub log_dir: Option<String>,
pub log_level: Option<String>,
pub service_discovery_config: Option<ServiceDiscoveryConfig>,
pub prometheus_config: Option<PrometheusConfig>,
pub request_timeout_secs: u64,
@@ -292,11 +292,17 @@ pub async fn startup(config: ServerConfig) -> std::io::Result<()> {
let _log_guard = if !LOGGING_INITIALIZED.swap(true, Ordering::SeqCst) {
Some(logging::init_logging(LoggingConfig {
level: if config.verbose {
Level::DEBUG
} else {
Level::INFO
},
level: config
.log_level
.as_deref()
.and_then(|s| match s.to_uppercase().parse::<Level>() {
Ok(l) => Some(l),
Err(_) => {
warn!("Invalid log level string: '{}'. Defaulting to INFO.", s);
None
}
})
.unwrap_or(Level::INFO),
json_format: false,
log_dir: config.log_dir.clone(),
colorize: true,