如何编译librdkafka

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编译librdkafka相关的知识,希望对你有一定的参考价值。

参考技术A 这个是scala的编译库喝运行时库(kafka是用sbt管理依赖的),所以建议你使用sbt,会自动下载所有依赖

librdkafka 自定义记录器,函数签名

【中文标题】librdkafka 自定义记录器,函数签名【英文标题】:librdkafka custom logger, function signature 【发布时间】:2022-01-04 17:18:13 【问题描述】:

我正在使用 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 的用途是什么,是否有关于其使用的文档或定义字典?

【问题讨论】:

【参考方案1】:

设施字符串是发出日志的上下文的半唯一名称。它主要用于帮助 librdkafka 维护者识别日志行的来源,但也可用于过滤目的。

它最初的灵感来自Cisco IOS like system logs,其形式为:

FAC-LVL-SUBFAC: Message...

librdkafka 对应项是:

RDKAFKA-7-JOIN: Joining consumer group xyx

其中 JOIN 是 librdkafka 日志记录工具。

【讨论】:

以上是关于如何编译librdkafka的主要内容,如果未能解决你的问题,请参考以下文章

如何编译github项目

c#如何防反编译

如何使用lessc编译.less文件

Zend 引擎如何编译 php 代码或 php 编译器如何工作?

如何防止代码被反编译

如何编译一个内核