【发布时间】:2017-01-21 18:33:00
【问题描述】:
我正在使用 librdkafka c++ API,我想更改记录器的默认行为(默认为 stderr)。
配置文档中列出了我可以更改 log_cb 函数,但我在 c++ API 中找不到如何执行此操作。
在c API中有这个函数rd_kafka_conf_set_log_cb()来设置日志回调。
此外,我希望能够更改日志严重级别。
【问题讨论】:
标签: c++ logging apache-kafka
我正在使用 librdkafka c++ API,我想更改记录器的默认行为(默认为 stderr)。
配置文档中列出了我可以更改 log_cb 函数,但我在 c++ API 中找不到如何执行此操作。
在c API中有这个函数rd_kafka_conf_set_log_cb()来设置日志回调。
此外,我希望能够更改日志严重级别。
【问题讨论】:
标签: c++ logging apache-kafka
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 以抑制更高级别(不太重要)的日志消息。
【讨论】: