Skip to content

日志系统

基于 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 时,消息颜色跟随级别颜色
  • 未知颜色名会静默回退到无色输出