将Flink 1.10升级到Flink 1.11(kubernetes部署上的Log4j)
将Flink 1.10升级到Flink 1.11后,log4j配置不再工作 我以前的配置是使用带有适配器的库,该适配器需要log4j1.x,并且不再与flink1.11兼容 根据新的配置,flink-conf.yaml应该如下所示将Flink 1.10升级到Flink 1.11(kubernetes部署上的Log4j),kubernetes,configuration,apache-flink,Kubernetes,Configuration,Apache Flink,将Flink 1.10升级到Flink 1.11后,log4j配置不再工作 我以前的配置是使用带有适配器的库,该适配器需要log4j1.x,并且不再与flink1.11兼容 根据新的配置,flink-conf.yaml应该如下所示 log4j-console.properties: |+ # This affects logging for both user code and Flink rootLogger.level = INFO rootLogger.append
log4j-console.properties: |+
# This affects logging for both user code and Flink
rootLogger.level = INFO
rootLogger.appenderRef.console.ref = ConsoleAppender
rootLogger.appenderRef.rolling.ref = RollingFileAppender
# Uncomment this if you want to _only_ change Flink's logging
#logger.flink.name = org.apache.flink
#logger.flink.level = INFO
我当前使用log4j1的配置与此类似
log4j-console.properties: |+
log4j.rootLogger=INFO,myappender,console
log4j.appender.myappender=com.company.log4j.MyAppender
log4j.appender.myappender.endpoints=http://
有没有办法告诉Flink 1.11在Flink-conf.yaml文件中使用log4j1?据我所知,
Flink-conf.yaml
不包含log4j console.properties
部分,这是一个单独的文件。我想您指定的是flink配置configmap.yaml
集群资源定义的一部分
根据flink的说法,要使用log4j1,您需要:
- 从lib目录中删除
、log4j-core
和log4j-slf4j-impl
jarlog4j-1.2-api
- 将
、log4j
和slf4j-log4j12
jar添加到lib目录log4j-to-slf4j
Kubernetes
和DCOS(Mesos)
Flink集群中遇到了相同的问题。然后为了交叉验证,我在本地下载了Flink的二进制文件Flink-1.11.3-bin-scala_2.12.tgz,并测试了记录器,发现它工作正常,没有任何变化
Flink 1.11从Log4j1切换到Log4j2
- 然后,我按照中提到的步骤将Flink与Log4j1一起使用
- 从Flink的lib目录中删除
和log4j-slf4j-impl
jarlog4j-1.2-api
- 将
、log4j
和slf4j-log4j12
jar添加到log4j-to-slf4j
目录中Flink的lib
- 重新启动
和Kubernetes
Flink集群,验证记录器并发现其工作正常DCOS(Mesos)