官网对于Flink使用logback的规范:
1. 所有的classpath下不能有org.apache.logging.log4j:log4j-slf4j-impl
,包括flink自己的lib目录以及自定义jar包,检查flink的lib目录,如果有这个jar,把他移除,检查自己的jar,如果有直接和间接依赖,exclude掉
2. ch.qos.logback:logback-core
和 ch.qos.logback:logback-classic,需要提供这两个依赖,如果决定统一使用logback输出日志,建议就把这两个包放在flink的lib目录下
我自己在完成以上两个步骤以后发现依然使用的是log4j,如果这样,将flink的conf目录下的log4j相关配置文件全部移除,只留下logback相关的配置文件,logback配置才会生效。
Flink的conf目录有三个默认的logback配置文件:
logback-session.properties、logback-console.properties、logback.xml,在不同场景下使用,目前我使用的是HadoopYarn资源平台,任务模式为per-job,加载的是logback.xml的配置,参考配置:
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache Licens