日志系统
基于 tracing 生态。
dylib 插件注意
dylib 插件不能直接用 tracing::info! 等宏(跨 dylib 不共享 subscriber)。 必须使用 foxcore_api 提供的日志宏:
rust
use foxcore_api::{log_info, log_warn, log_error, log_debug};
log_info!("普通日志");
log_warn!("警告:{}", msg);
log_error!("错误:{}", err);
log_info!("cyan"; "带颜色的日志");适配器还需导出 foxcore_set_logger 函数,详见适配器开发。
以下是核心内部使用的 tracing 宏(插件请用上面的 log_*! 宏)。
使用方式
rust
tracing::info!("普通日志");
tracing::debug!("调试信息");
tracing::warn!("警告信息");
tracing::error!("错误信息(自动写入 error.log)");自定义消息颜色
通过 color 字段为控制台输出着色:
rust
tracing::info!(color = "cyan", "这是一条青色日志");
tracing::info!(color = "bright_green", "这是一条亮绿色日志");
tracing::warn!(color = "bright_red", "这是一条亮红色日志");支持的颜色
red, green, blue, yellow, magenta, cyan, white
以及 bright_ 变体:bright_red, bright_green, bright_blue, bright_yellow, bright_magenta, bright_cyan, bright_white
提示
color仅影响控制台输出,不会写入文件日志- 不传
color时,消息颜色跟随级别颜色 - 未知颜色名会静默回退到无色输出