如何查找和减少 Kafka 产生的日志事件

How to find and reduce log events generated by Kafka

我认为 'log' 这个词在 Kafka 中的用法不止一种。我说的是最终出现在 stdout 或 your-app.log 或 splunk/datadog/etc.

中的日志输出

每 30 秒,某事 发生 3 次。每次它发生时,都会出现大约 65 个日志事件。我在想

  1. 这是什么东西
  2. 我可以让它的所有输出都出现在一行中吗? (我的日志 'provider' 按日志事件收费,每行算作一个单独的事件。)

日志是这样的:

INFO  - Kafka version: ...
INFO  - Kafka commitId: ...
INFO  - Kafka startTimeMs: ...
INFO  - App info kafka.admin.client for adminclient-...
INFO  - Metrics scheduler closed
INFO  - Closing reporter org.apache.kafka.common.metrics.JmxReporter
INFO  - Metrics reporters closed
INFO  - AdminClientConfig values: 
bootstrap.servers = [...
foo = ...
bar = ...
baz = ...
qux = ...


    

每一行都是一个 Slf4j 事件。如果你想从你的客户端或代理更改它的格式,你需要修改你的日志框架配置。在代理中,您会找到一个 log4j.properties 文件。

所有输出不能出现在一行中。例如,每个 INFO 都是一个单独的事件。通过禁用打印它们的 Java 包的日志,可以 减少

另一种方法是在您的系统上安装一些其他日志转发器,例如 Fluentd 和 parse/filter/forward 使用它的数据。