如何关闭 zookeeper 日志信息?

how to turn off zookeeper log info?

我正在使用 zookeeper c 客户端库。当我 运行 我的程序时,它会输出 ZOO_INFO 到控制台。部分日志消息如下所示:

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@712: Client environment:zookeeper.version=zookeeper C client 3.4.6

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@716: Client environment:host.name=myhost

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@723: Client environment:os.name=Linux

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@724: Client environment:os.arch=3.2.0-34-generic

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@725: Client environment:os.version=#53-Ubuntu SMP Thu Nov 15 10:48:16 UTC 2012

2015-03-26 20:08:22,115:15978(0x7f83a1fbc740):ZOO_INFO@log_env@733: Client environment:user.name=myname

...

我可以使用 zoo_set_log_stream(m_zklog); 将这些消息输出到一些日志文件。但我更喜欢关闭所有日志消息。我也试过 zoo_set_debug_level( ZOO_LOG_LEVEL_ERROR );。但它不能关闭所有消息。 有什么想法吗?

使用 C API zoo_set_debug_level() (例如 zoo_set_debug_level((ZooLogLevel)0))。但是在zookeeper_init()之前调用这个函数,否则会失败。

FILE* outfile =  fopen ("nul", "w");
  zoo_set_log_stream(outfile);