SLF4J和log4j错误警告的解决方法

这里写图片描述

1. hbase 启动时遇到 log4j 的问题

问题描述: 我在 hbase 启动时曾遇到如下的问题

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

问题原因:缺少log4j包,运行需要使用log4j包作为默认日志。

解决方法:下载SLF4J对应的版本的log4j包,可以官网下载log4j包,如果有问题,请尝试不同版本的log4j。(我之前在配置 hbase 时把这个包给移除了,直接加上并在原名后面加上bak 如下:
mv slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak)

此时在运行 eclipse 可能会遇到如下的警报:

log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://master1/output already exists
    at org.apache.hadoop.mapreduce.lib.output.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:146)
    at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:554)
    at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:430)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1295)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1292)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1642)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1292)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1313)
    at net.csdn.blog.zephyr.main.wordcount.main(wordcount.java:36)

此警报可以忽略,若想去掉可按如下配置:
(这种情况一般是由于log4j这个日志信息打印模块的配置信息没有给出造成的)
1.在运行 eclipce 的虚拟机上建立如下文件,文件名为:log4j.properties ,文件内容为:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

如下:

这里写图片描述

这里写图片描述

2.将 log4j.properties 放在这里写图片描述
这个路径下的 src 中,如下图所示:

这里写图片描述

3.此时在 eclipse 中刷新一下便可看到 log4j.properties 文件,如下图所示:

这里写图片描述

4.此时重新运行程序不再有这个 warn 了!问题解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值