我正在使用librdkafka c++API,我想更改记录器的默认行为。
在c API中,有一个函数rd_kafka_conf_set_log_cb()
用于设置日志回调。它采用一个带有签名的函数:
void(*)(const rd_kafka_t *rk, int level, const char *fac, const char *buf)
然而,我不知道const-char*fac在函数签名中做了什么。我可以看到诸如";FAIL";或";BGQUEUE";在使用时传递,但我找不到任何关于它们的含义或如何使用它们的文档。
const char *fac
的用途是什么?是否有关于其用途的文档或其定义的词典?
设施字符串是发出日志的上下文的半唯一名称。它主要用于帮助librdkafka维护人员识别日志行的来源,但也可用于过滤目的。
它最初的灵感来源于类似Cisco IOS的系统日志,其形式为:
FAC-LVL-SUBFAC: Message...
librdkafka的对应词是:
RDKAFKA-7-JOIN: Joining consumer group xyx
其中JOIN是librdkafka日志记录工具。