log4j2日志发送到Kafka,log4j2.properties文件中KafkaAppender参数(如bootstrap.servers)的写法

背景

一些工具(如hive)可以借助log4j2把一些信息(如血缘关系)发送到kafka,但是用到的log4j2文件格式为properties,不方便大改为XML、YAML等格式,因此要在现有的properties文件中增加KafkaAppender。但我在官网没有找到
KafkaAppender配置bootstrap.serverstimeout.ms等kafka参数的方法,后来通过各种渠道找到了配置方法,在此记录。如果有朋友在官网找到properties文件的官方说明,烦请告知,非常感谢~

配置方式

着急的可以直接找到本文重点查看

# 增加KafkaAppender,XXX为其他appenders,这里只是示例
appenders = XXX, KafkaLog
appender.KafkaLog.type = Kafka
appender.KafkaLog.name = KafkaLog
# 输出格式
appender.KafkaLog.layout.type = PatternLayout
# 输出模板
appender.KafkaLog.layout.pattern = %m
# 输出主题
appender.KafkaLog.topic = test
# Kafka参数(本文重点)
# properties是个数组,下标按顺序写好
# 要以type、name、value为一组进行配置
# 其中type=Property是固定写法,name写参数名,value写参数值
appender.KafkaLog.properties[0].type=Property
appender.KafkaLog.properties[0].name=bootstrap.servers
appender.KafkaLog.properties[0].value=localhost:9092
appender.KafkaLog.properties[1].type=Property
appender.KafkaLog.properties[1].name=timeout.ms
appender.KafkaLog.properties[1].value=30000
appender.KafkaLog.properties[2].type=Property
appender.KafkaLog.properties[2].name=XXX
appender.KafkaLog.properties[2].value=XXX
# ……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Flink ,可以通过设置 `flink-conf.yaml` 文件配置 Flink 的日志输出。在该文件,可以设置 `flink.logging.log4j2.appender.kafka` 属性来指定使用 Kafka Appender 进行日志输出。具体的配置方式如下: 1. 在 `flink-conf.yaml` 文件添加以下配置: ``` flink.logging.log4j2.appender.kafka.type = Kafka flink.logging.log4j2.appender.kafka.name = Kafka flink.logging.log4j2.appender.kafka.topic = log_topic flink.logging.log4j2.appender.kafka.layout.type = JsonLayout flink.logging.log4j2.appender.kafka.layout.compact = true flink.logging.log4j2.appender.kafka.property.bootstrap.servers = localhost:9092 ``` 上述配置,`flink.logging.log4j2.appender.kafka.type` 属性指定了使用 Kafka Appender 进行日志输出,`flink.logging.log4j2.appender.kafka.name` 属性指定了 Appender 的名称,`flink.logging.log4j2.appender.kafka.topic` 属性指定了 Kafka Topic 的名称,`flink.logging.log4j2.appender.kafka.layout.type` 属性指定了日志输出的格式,这里使用了 JsonLayout,`flink.logging.log4j2.appender.kafka.property.bootstrap.servers` 属性指定了 Kafka Broker 的地址。 2. 在 Flink 代码启动流处理任务时,可以通过 `StreamExecutionEnvironment.getConfig()` 方法获取 ExecutionConfig 对象,然后通过 `ExecutionConfig.setGlobalJobParameters()` 方法将 `flink-conf.yaml` 文件配置加载到 ExecutionConfig 对象,如下所示: ``` StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); ExecutionConfig config = env.getConfig(); config.setGlobalJobParameters(ParameterTool.fromPropertiesFile("/path/to/flink-conf.yaml")); ``` 上述代码,`ParameterTool.fromPropertiesFile()` 方法可以将 `flink-conf.yaml` 文件配置加载到一个 ParameterTool 对象,然后通过 `ExecutionConfig.setGlobalJobParameters()` 方法将该对象配置加载到 ExecutionConfig 对象。 这样就可以使用 Kafka Appender 进行日志输出了。需要注意的是,Kafka Appender 的具体配置方式可以根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值