我正在将log4j2与JSON属性文件一起使用,将命名为log4j2.json并尝试添加kafka附加程序。有很多使用较旧格式或xml的示例,但都难以在JSON中获得正确的格式。这很可能是一个愚蠢的问题,但是我一直在努力使它起作用,在任何地方都找不到示例。我很想放弃在json中配置log4j2并转向XML,但是我觉得这应该很简单。
这是用XML定义的示例kafka附加程序。
'<Appenders>
<Kafka name="Kafka" topic="devglan-test">
<PatternLayout pattern="%date %message"/>
<Property name="bootstrap.servers">localhost:9092</Property>
</Kafka>
<Async name="Async">
<AppenderRef ref="Kafka"/>
</Async>
</Appenders>
如何
'本地主机:9092
条目映射到JSON。
我尝试了多种样式,例如: '“ Kafka”:{ “ name”:“ Kafka”, “ topic”:“ FEEDPROCESSING_Dev”, “ PatternLayout”:{ “ pattern”:“%date%message” }, “ bootstrap.servers”:[{“名称”:“ localhost:9092”}]} }
那没有用。我也尝试过。
'"Kafka": {
"name":"Kafka",
"topic":"FEEDPROCESSING_SYNC_Dev",
"PatternLayout": {
"pattern": "%date %message"
},
"Property": {"bootstrap.servers":"localhost:9092"}}
}
我收到如下错误: 属性包含无效的元素或属性“ bootstrap.servers”
此配置给我错误“无法找到bootstrap.servers的插件类型”:
'"Property": {"bootstrap.servers":[{"name":"localhost:9092"}]}}},
我知道我有正确的Maven依赖项。
使用JSON和log4j2配置Kafka附加程序,特别是引导服务器属性的正确方法是什么?
答案 0 :(得分:2)
这是我认为的正确格式:
"Kafka": {
"name": "Kafka",
"topic": "FEEDPROCESSING_Dev",
"PatternLayout": {
"pattern": "%date %message"
},
"Property": {
"name": "bootstrap.servers",
"value": "localhost:9092"
}
}