You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SWC插件中打印日志用于调试?

SWC插件调试日志无法输出的解决方法
  • 检查tracing初始化与依赖配置
    确保插件代码中tracing的订阅器初始化正确,同时依赖配置完整:

    1. 在Cargo.toml中添加tracing-subscriber依赖:
      tracing-subscriber = { version = "0.3", features = ["fmt"] }
      
    2. 在插件入口函数中初始化订阅器(仅在开发环境启用,避免影响生产构建):
      use tracing_subscriber::fmt;
      
      #[plugin_transform]
      pub fn process(...) -> ... {
          #[cfg(debug_assertions)]
          let _ = fmt::try_init();
      
          // 测试日志输出
          tracing::info!("插件开始处理代码节点");
          // 你的插件逻辑...
      }
      
  • 改用标准输出/错误输出
    如果tracing仍不生效,直接用标准库的输出方式更可靠,SWC会将这些内容转发到终端:

    use std::io::{self, Write};
    
    // 打印调试信息到标准错误流,避免被正常输出覆盖
    writeln!(io::stderr(), "当前处理的节点详情:{:?}", node).unwrap();
    
  • 配置运行时日志环境变量
    使用tracing时,需要通过环境变量指定日志级别,运行SWC时执行:

    RUST_LOG=info swc src -d dist
    

内容的提问来源于stack exchange,提问作者BruceWan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:44:53