Spring Boot lo4j日誌不顯示在控制檯解決方法
阿新 • • 發佈:2019-01-04
本人使用spring boot搭建專案,跑是跑起來了,但是日誌不輸出到控制檯,導致開發很不方便,到網上找了很多帖子也沒有具體的一個解決方案,然後自己考慮了一個解決方案,歡迎一起交流,廢話不多說直接上程式碼了:
方案1:
直接在web.xml中加入一下程式碼:
但是個人覺得這樣的解決方案不是很好,我的專案不需要web.xml為了這一個配置去加一個檔案是不合適的。
方案1:
直接在web.xml中加入一下程式碼:
<listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param>
但是個人覺得這樣的解決方案不是很好,我的專案不需要web.xml為了這一個配置去加一個檔案是不合適的。
方案2:
在啟動類你裡面這麼寫:
這個就是進去看了下Log4jConfigListener的原始碼知道發現它是從initParameter這個屬性去拿的檔案地址,於是就這麼嘗試了下確實可行。@Bean public Log4jConfigListener log4jConfigListener( WebApplicationContext webApplicationContext){ ServletContext servletContext = webApplicationContext.getServletContext(); servletContext.setInitParameter("log4jConfigLocation","classpath:log4j.properties"); Log4jConfigListener log4jConfigListener = new Log4jConfigListener(); log4jConfigListener.contextInitialized(new ServletContextEvent(servletContext)); return log4jConfigListener; }