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")