forge_common/logger.rs
1use std::sync::Once;
2
3use tracing_subscriber::EnvFilter;
4
5static TRACING_INIT: Once = Once::new();
6
7/// 初始化全局 tracing 日志,仅第一次调用生效。
8/// 默认输出到 stdout,可通过 RUST_LOG 调整日志级别过滤。
9pub fn init_tracing(node_name: &str) {
10 TRACING_INIT.call_once(|| {
11 let env_filter =
12 EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
13 let _ = tracing_subscriber::fmt()
14 .with_env_filter(env_filter)
15 .with_writer(std::io::stdout)
16 .with_target(false)
17 .try_init();
18 });
19
20 tracing::info!(node = node_name, "tracing logger initialized");
21}