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

如何在StormCrawler中启用DEBUG级日志记录?

启用StormCrawler DEBUG级别日志的方法

一、提交拓扑时通过命令行参数设置

  • 针对StormCrawler核心包单独开启DEBUG日志(避免过多Storm自身日志干扰):
    storm jar target/your-stormcrawler-project.jar com.digitalpebble.stormcrawler.CrawlTopology -c "log4j.logger.com.digitalpebble.stormcrawler=DEBUG"
    
  • 若需要包含Storm框架自身的DEBUG日志,可添加拓扑调试参数:
    storm jar target/your-stormcrawler-project.jar com.digitalpebble.stormcrawler.CrawlTopology -c "topology.debug=true" -c "log4j.logger.com.digitalpebble.stormcrawler=DEBUG"
    

二、通过日志配置文件修改

找到项目中的log4j2.xml或log4j.properties配置文件,调整对应包的日志级别:

  • 若使用log4j2.xml,添加或修改节点:
    <Logger name="com.digitalpebble.stormcrawler" level="DEBUG" additivity="false">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="File"/>
    </Logger>
    
  • 若使用log4j.properties,添加配置项:
    log4j.logger.com.digitalpebble.stormcrawler=DEBUG
    

修改完成后重新打包提交拓扑即可生效。

三、本地模式运行的快速设置

在本地模式下,可直接在拓扑启动类中硬编码设置日志级别:

import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;

public class CustomCrawlTopology {
    public static void main(String[] args) throws Exception {
        // 动态设置StormCrawler包的日志级别为DEBUG
        LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
        Configuration config = ctx.getConfiguration();
        config.getLoggerConfig("com.digitalpebble.stormcrawler").setLevel(Level.DEBUG);
        ctx.updateLoggers(config);
        
        // 调用原有拓扑启动逻辑
        CrawlTopology.main(args);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:44:54