Hadoop中输出日志信息时,代码没有错误,但是查看不到日志文件。
导致这种问题出现的原因是:程序在执行时引用了其他的jar包,引用的jar包中可能包含了其他log4j相关的配置文件。由于log4j配置文件的引用存在优先级,因此程序没有使用我们之前更改的log4j.properties文件,而是使用了jar包中的配置文件,导致更改没有奏效。
解决办法,在主方法所在的类中,通过加入代码,直接指定使用的log4j.properties文件:
- 首先将log4j.properties文件放在Linux指定目录,比如/usr/local/test/
- 其次导入相关的包:
import org.apache.log4j.PropertyConfigurator
- 最后中添加语句:
PropertyConfigurator.configure("/usr/local/test/log4j.properties")