Flink - 解决运行时控制台显示红色的log4j的警告信息问题(log4j:WARN No appenders...)
作者:hangge | 2025-02-17 08:27
1,问题描述
当我们使用 IDEA 等代码编辑器在本地运行 flink 程序时,控制台可能会显示如下一些红色的 log4j 的警告信息,提示缺少相关依赖和配置。
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
log4j:WARN No appenders could be found for logger (org.apache.flink.shaded.netty4.io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

2,解决办法
(1)在项目的 pom.xml 文件中添加 log4j 相关依赖配置:
<!-- log4j的依赖 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.10</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.10</version> </dependency>
(2)然后在 src/main/resources 路径下创建一个 log4j.properties 配置文件,文件内容如下:
提示:由于使用 info 日志级别打印的信息太多了,所以这里将 log4j 中的日志级别配置改为 error 级别。大家可以根据实际情况自行修改。
log4j.rootLogger=error,stdout log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
(3)此时再执行就没有红色的警告信息了。
全部评论(0)