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

Amo*_*rni 14 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
Run Code Online (Sandbox Code Playgroud)

经过许多文档后,我最终得到了以下代码,我可以从课堂内关闭日志记录.

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");
 }
}
Run Code Online (Sandbox Code Playgroud)

输出(正确): 0 [main] FATAL TopologyMain - Here is some 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 :-(
Run Code Online (Sandbox Code Playgroud)

Chi*_*ron 11

Storm真的很健谈,并且告诉了很多信息但是如果你想让它静音,你可以将Config.TOPOLOGY_DEBUG设置为false.

当您将Config.TOPOLOGY_DEBUG设置为true时,每次从任何喷口或螺栓发出元组时,您都会告诉Storm记录消息.

  • 我发现storm包含了classpath中的log4j.properties:有没有办法排除它并用我自己的方法覆盖它?我用maven插件尝试了不同的东西,但没有运气. (4认同)