log4j:WARN No appenders could be found for logger ().解決方案

1、SSM項(xiàng)目結(jié)構(gòu)

2、Spring boot項(xiàng)目結(jié)構(gòu)

3、在log4j.properties文件中,輸入如下信息:
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
4、[level] 是日志輸出級別,共有5級:
ALL 各級包括自定義級別
DEBUG 指定細(xì)粒度信息事件是最有用的應(yīng)用程序調(diào)試
ERROR 錯誤事件可能仍然允許應(yīng)用程序繼續(xù)運(yùn)行
FATAL 指定非常嚴(yán)重的錯誤事件,這可能導(dǎo)致應(yīng)用程序中止
INFO 指定能夠突出在粗粒度級別的應(yīng)用程序運(yùn)行情況的信息的消息
OFF 這是最高等級,為了關(guān)閉日志記錄
TRACE 指定細(xì)粒度比DEBUG更低的信息事件
WARN 指定具有潛在危害的情況
5、Appender 為日志輸出目的地,Log4j提供的appender有以下幾種:
org.apache.log4j.ConsoleAppender(控制臺),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個日志文件),
org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時候產(chǎn)生一個新的文件),
org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)
6、Layout:日志輸出格式,Log4j提供的layout有以下幾種:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
Layouts提供四種日志輸出樣式,如根據(jù)HTML樣式、自由指定樣式、包含日志級別與信息的樣式和包含日志時間、線程、類別等信息的樣式。
7、打印參數(shù): Log4J采用類似C語言中的printf函數(shù)的打印格式格式化日志信息,如下:
? %m?? 輸出代碼中指定的消息
%p?? 輸出優(yōu)先級,即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL
%r?? 輸出自應(yīng)用啟動到輸出該log信息耗費(fèi)的毫秒數(shù)
%c?? 輸出所屬的類目,通常就是所在類的全名
%t?? 輸出產(chǎn)生該日志事件的線程名
%n?? 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”
%d?? 輸出日志時間點(diǎn)的日期或時間,默認(rèn)格式為ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},輸出類似:2002年10月18日? 22 : 10 : 28 , 921 ?
%l?? 輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)。舉例:Testlog4.main(TestLog4.java: 10 )