log4j:WARN No appenders could be found for logger

問題場景

在項目中使用Log4j時,出現以下情況:

log4j:WARN No appenders could be found for logger (com.frank.Log4jDemo).
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.properties配置文件爲放在source文件夾下;
  3. log4j.properties配置文件編碼不正確;

解決方案

排查問題步驟:

1.確認是否建立log4j.properties或log4j.xml配置文件;
2.確認配置文件是否名稱爲log4j.properties或log4j.xml;
3.確認配置文件編碼是否爲UTF-8
4.確認配置文件中的內容是否正確。

以IDEA爲例
項目結構:
在這裏插入圖片描述
通過上圖可以發現,項目中已經正確建立log4j.properties配置文件,且放置於resource下,文件編碼爲UTF-8,運行結果:
在這裏插入圖片描述

IDEA中目錄設置:

在IDEA中,我們知道resource爲資源目錄,如果沒有將其標記爲Resource,那麼log4j配置文件不會發不到classpath下,解決方案如下:
1.File–>Project Structure…
在這裏插入圖片描述
2.標記java爲Source,resources爲Resources
在這裏插入圖片描述
或者直接resource右鍵–>Mark Directory As–>Resources Root,如果已經標記過了,則不會顯示該選項。
在這裏插入圖片描述