java - 如何禁用/关闭 Storm 的日志记录功能

标签 java log4j apache-storm

当我们从本地集群运行时,我想关闭默认提供的日志记录功能。 目前它在控制台上记录了很多信息。

日志示例如下:

261 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:2
2261 [main] INFO  backtype.storm.daemon.task  - Shutting down task Getting-Started-Toplogie-1-1376388324:1
2262 [Thread-24] INFO  backtype.storm.util  - Async loop interrupted!
2276 [main] INFO  backtype.storm.daemon.task  - Shut down task Getting-Started-Toplogie-1-1376388324:1
2278 [main] INFO  backtype.storm.daemon.worker  - Terminating zmq context
2279 [main] INFO  backtype.storm.daemon.worker  - Disconnecting from storm cluster state context
2279 [main] INFO  backtype.storm.daemon.worker  - Waiting for heartbeat thread to die
2279 [Thread-27] INFO  backtype.storm.util  - Async loop interrupted!
2308 [main] INFO  backtype.storm.testing  - Shutting down in process zookeeper
2309 [main] INFO  backtype.storm.testing  - Done shutting down in process zookeeper
2309 [main] INFO  backtype.storm.testing  - Deleting temporary path /tmp/255fe7c8-1407-4f43-8771-2217905232ab

在浏览了很多文档之后,我得到了下面的代码,我可以在类里面关闭日志记录。

static Logger logger = Logger.getLogger(TopologyMain.class);

public static void main(String[] args) throws InterruptedException, AlreadyAliveException, InvalidTopologyException {        
      logger.setLevel((Level) Level.FATAL);
      logger.debug("Here is some DEBUG");
      logger.info("Here is some INFO");
      logger.warn("Here is some WARN");
      logger.error("Here is some ERROR");
      logger.fatal("Here is some FATAL");
 }
}

输出(正确):0 [main] FATAL TopologyMain - 这是一些 FATAL

但我需要更改storm/zookeper等的日志配置。

有人可以帮忙吗?


更新:下面是我试过的代码,但是不起作用。我尝试使用版本 0.7.1、0.8.2 和 0.9.0-wip*

        //Configuration
        Config conf = new Config();
        conf.put(Config.TOPOLOGY_DEBUG, false);  //Tried this alone
        conf.setDebug(false);  //Tried this alone & tried both together as well.. No change :-(

最佳答案

Storm 真的很健谈,会说很多信息,但如果你想让它安静下来,你可以设置 Config.TOPOLOGY_DEBUG假的。

当您将 Config.TOPOLOGY_DEBUG 设置为 true 时,您是在告诉 Storm 在每次从任何 spout 或 bolt 发出元组时记录一条消息。

关于java - 如何禁用/关闭 Storm 的日志记录功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206821/

相关文章:

mysql - Kafka生产者与Kafka连接读取MySQL数据源

java - Spark 序列化策略 - 我应该只使用 Kryo 吗?

java - Maven 类路径 Log4J NoClassDefFoundError

java - 未创建 Log4j 文件 : logging from the application running on WAS6. 1

java - 无法在多线程的正确文件上写入日志?

java - 线程 "main"java.lang.NoClassDefFoundError : backtype/storm/spout/MultiScheme 中出现异常

apache-storm - Flink 和 Storm 之间的主要区别是什么?

java - spring jpa crud 存储库在多线程环境中从数据库获取旧数据

java - 带有 Cassandra 的 Java 驱动程序的多键空间

java - Spring @GetMapping 被忽略