我正在使用librdkafka stderr API,并且我想要更改c++的默认行为(默认为stderr)。
配置文档中列出了我可以更改log_cb函数,但我找不到如何在c++应用程序接口中执行此操作。
在c中,有一个函数rd_kafka_conf_set_log_cb()来设置日志回调。
此外,我希望能够更改日志严重级别。
发布于 2017-01-22 04:13:13
librdkafka C++ API通过通用的事件类型公开日志、统计数据、节流等。
Here is an example如何使用它。摘录:
class ExampleEventCb : public RdKafka::EventCb {
public:
void event_cb (RdKafka::Event &event) {
switch (event.type())
{
case RdKafka::Event::EVENT_LOG:
fprintf(stderr, "LOG-%i-%s: %s\n",
event.severity(), event.fac().c_str(), event.str().c_str());
break;
default:
}
}
};
...
ExampleEventCb ex_event_cb;
conf->set("event_cb", &ex_event_cb, errstr);至于日志级别/严重程度:您可以通过配置log_level来抑制更高级别(不太重要)的日志消息。
https://stackoverflow.com/questions/41782975
复制相似问题