log4j - 如何配置 log4j 以在 ksqldb 中将日志作为 JSON 发送到标准输出?
问题描述
我正在使用ksqldb
部署在一个kubernetes
pod 中,它会自动将控制台输出发送到logstash
和kibana
.
我正在尝试读取服务器日志,但输出不是很好,尤其是在发生堆栈跟踪时。如果我可以将我的日志输出为 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
我对如何做到这一点有一些想法,但是对于如此简单的事情来说,其中大多数听起来都太复杂了。
解决方案
推荐阅读
- servlets - 挂钩 PrintWriter 并修改字符串
- c# - asp.net 核心中的连接不安全
- python - Python文件读取问题,可能的infile循环?
- reactjs - 使用 Laravel 的拖放区。大文件导致 500 错误
- java - Unirest 的回应隐藏了真正的例外
- json - 带有Json资源返回错误的Laravel分页
- sql - 我只想更新一个元组(在 SQL Server 中)并选择相同的更新元组
- c# - 如何在 Visual Studio 2017 中创建模拟 WCF 服务
- tensorflow - 使用不同的优化器在 tensorflow 中训练同一层
- ruby-on-rails - Rails 更新关联