IDEA 本地运行mapreduce程序不打印日志问题

这里写目录标题

    • 一、问题描述
    • 二、产生原因
    • 三、解决办法

一、问题描述

使用idea运行mapreduce程序后,虽然程序运行成功,但在控制台不打印相关的日志信息,而是出现如下的log4j警告

log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

二、产生原因

进入提示的网站,看到相关问题及解答
在这里插入图片描述
翻译一下大概意思是:

1.产生的原因是没有找到log4j.properties或log4j.xml配置文件
2.log4j不提供默认配置,因为在某些环境中可能会禁止输出到控制台或文件系统
3.log4j用Thread().getContextClassLoader().getResource()加载配置文件

三、解决办法

看到官网的解释其实就很明白了,只需要在项目的resources目录下面创建一个配置文件log4j.properties即可。

# log4j.rootLogger日志输出类别和级别:只输出不低于该级别的日志信息DEBUG < INFO < WARN < ERROR < FATAL
# A1是一个“形参”代表输出位置,具体的值在下面
log4j.rootLogger=DEBUG, A1

# 配置A1输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# 配置A1设置为自定义布局模式
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# 配置日志的输出格式 %r耗费毫秒数 %p日志的优先级 %t线程名 %C所属类名通常为全类名 %x线程相关联的NDC %m日志 %n换行
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

配置后运行:
IDEA 本地运行mapreduce程序不打印日志问题_第1张图片

你可能感兴趣的:(hadoop小白学习记录,java小白学习记录,log4j,java)