当前位置: 首页 > 知识库问答 >
问题:

使用Log4j2 json配置Kafka Appender

壤驷德宇
2023-03-14

我将log4j2与一个JSON属性文件一起使用,我将其命名为log4j2。json并尝试添加Kafka追加器。有很多使用旧格式或xml的示例,但很难在JSON中获得正确的格式。这很可能是一个愚蠢的问题,但我一直在努力让它发挥作用,在任何地方都找不到任何例子。我很想放弃在json中配置log4j2,转而使用XML,但我觉得这应该相当简单。

这是一个用XML定义的示例kafka appender。

'<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>

localhost:9092条目如何映射到JSON。

那不起作用。我也试过...

'"Kafka": {
            "name":"Kafka",
            "topic":"FEEDPROCESSING_SYNC_Dev",
            "PatternLayout": {
                "pattern": "%date %message"
            },
    "Property": {"bootstrap.servers":"localhost:9092"}}
}

我得到这样的错误:属性包含无效的元素或属性"bootstrap.servers"

此配置导致错误“无法定位引导服务器的插件类型”:

'"Property": {"bootstrap.servers":[{"name":"localhost:9092"}]}}},

我知道我有正确的maven依赖项。。

使用JSON和log4j2配置Kafka appender,特别是bootstrap server属性的正确方法是什么?

共有1个答案

太叔景同
2023-03-14

这是我认为正确的格式:

"Kafka": {
    "name": "Kafka",
    "topic": "FEEDPROCESSING_Dev",
    "PatternLayout": {
        "pattern": "%date %message"
    },
    "Property": {
        "name": "bootstrap.servers",
        "value": "localhost:9092"
    }
}
 类似资料:
  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> <!-- 使用

  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> 规则配置 Sha

  • 我目前正在寻找一种动态组装config-keys(回退处理)的方法,然后在我们的microprofile-config.properties文件中查找这些。这样的文件可能如下所示: 因此,当存在客户和子客户时,使用on 我得到这个问题的原因是我想使用注释,所以没有ConfigProvider.getConfig()。这意味着我必须在自定义的中组装动态配置键。 我知道ConfigSources是在服

  • 问题内容: 我似乎在尝试将Jenkins(Ubuntu的EC2 AWS实例)与Bitbucket链接时陷入困境。 每当我尝试构建项目时(我在Jenkins上安装了git插件),我都会得到… 很好- 看起来它正在尝试通过ssh,但是找不到密钥。所以我试图生成密钥,在我有文件的情况下,但是根据这里的文档… https://confluence.atlassian.com/display/BITBUCK

  • 主要内容:下载Hadoop,从命令提示符下载Hadoop,安装Hadoop,验证Hadoop安装,在Hadoop上安装SolrSolr可以和Hadoop一起使用。 由于Hadoop是用于处理大量数据,Solr帮助我们从这么大数据源中找到所需的信息。在本节中,我们将了解如何在系统上安装Hadoop。 下载Hadoop 下面给出了如何将Hadoop下载到系统中的步骤。 第1步 - 打开Hadoop主页 - www.hadoop.apache.org/。 单击链接版本,如下面的屏幕截图中突出显示。 它

  • 主要内容:用户信息,文本编辑器,检查配置信息,获取帮助,以下是纠正/补充内容:假设经过上一篇文章的学习,你已经在系统上安装了 Git,那么现在要做几件事来配置/定制 Git 环境。每台计算机上只需要配置一次,程序升级时会保留配置信息。可以在任何时候再次通过运行命令来修改它们。 注: 如果还没有安装 Git,请参考:http://www.yiibai.com/git/git_environment.html Git 自带一个 的工具来帮助设置控制 Git 外观和行为的配置变量

  • 我的目标是通过以下方式配置Spring Security: 任何以private开头的路由都应该通过Spring Boot oauth2ResourceServer进行身份验证 我已经尝试了下面的代码,但这给我的问题是它也试图验证私有路由以外的其他路由。 我的依赖项是: 组织。springframework。启动:spring-boot-starter-oauth2-resource-server

  • 我有两个节点的Hazelcast(3.4.1)集群正在运行。我已将其配置为使用本机内存。(基本上是尝试使用高密度内存存储)。已编写客户端代码以连接到这些群集以执行写入操作。 我试图使用Hazelcast配置Jcache以使用缓存存储。Jcache提供程序类型:客户端。我还想使用声明性配置下面是我的客户端代码 我hazelcast.xml客户用过 当客户端代码被执行时。我有以下例外。 我甚至尝试了基