首页 > 解决方案 > 如何配置 log4j 以在 ksqldb 中将日志作为 JSON 发送到标准输出?

问题描述

我正在使用ksqldb部署在一个kubernetespod 中,它会自动将控制台输出发送到logstashkibana.

我正在尝试读取服务器日志,但输出不是很好,尤其是在发生堆栈跟踪时。如果我可以将我的日志输出为 JSON,那就更好了。所以,我得到了这个log4j.properties,但找不到怎么做。这是默认文件。

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n

log4j.appender.streams=org.apache.log4j.ConsoleAppender
log4j.appender.streams.layout=org.apache.log4j.PatternLayout
log4j.appender.streams.layout.ConversionPattern=[%d] %p %m (%c:%L)%n

我尝试使用融合的 json 布局,但它没有按预期工作。

log4j.appender.stdout.layout=io.confluent.common.logging.log4j.StructuredJsonLayout

我对如何做到这一点有一些想法,但是对于如此简单的事情来说,其中大多数听起来都太复杂了。

标签: log4jksqldb

解决方案


推荐阅读