javaWeb 專案 之 log4j1 的配置 簡單例項
阿新 • • 發佈:2019-02-20
以前敲程式碼都是在使用System.out.println(......);感覺太L了。學習了一下log4j1,並且進行了一個簡單的專案測試,在此記錄下來,以免忘記。同時也希望給剛剛入門的小夥伴提供一些經驗。
首先:
新建JAVA WEB專案
建立一個工具類和一個servlet,servlet中使用到工具類。如下圖:
說明:我的工具類是plus.java,我的servlet是TestLog4j.java
下面是plus.java和TestLog4j.java的原始碼
【plus.java】
package com.zjt; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class plus extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(TestLog4j.Hello()); } }
【TestLog4j.java】
package com.zjt; import org.apache.log4j.Logger; public class TestLog4j { public static Logger logger = Logger.getLogger(TestLog4j.class); public static int Hello() { // TODO Auto-generated method stub logger.debug("debug "); logger.fatal("fatal "); logger.info("asas"); int i = 1+1 ; logger.error("error "); return i ; } }
以上是javaweb的最基礎的東西,在此就不再贅述。
相信大家已經注意到了TestLog4j.java中的logger了,沒錯,這就是列印日誌的關鍵物件。
接下來我們講log4j的配置,只有配置好了,程式才不會報錯。
配置開始:
一:
下載jar包並且匯入lib下,現在log4j2已結出來了,使用方式和1有著較大不同,我這裡使用的是1,我使用的是
直接google jar 的名稱即可下載。
二:
在src根目錄下建立配置檔案,如圖。配置檔案內容為:
至此,執行專案。在瀏覽器位址列輸入:http://127.0.0.1:8080/Log4jTest/plus,可以看到控制檯列印如下資訊:###設定### log4j.rootLogger = debug , console , I , D , E , F ### 輸出資訊到控制擡 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} Console:%m - %l %n ### 輸出DEBUG 級別以上的日誌到=E://logs/error.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = E://logs/debug.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n ### 輸出ERROR 級別以上的日誌到=E://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =E\://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n ### 輸出INFO 級別以上的日誌到=E://logs/info.log ### log4j.appender.I = org.apache.log4j.DailyRollingFileAppender log4j.appender.I.File =E\://logs/info.log log4j.appender.I.Append = true log4j.appender.I.Threshold = INFO log4j.appender.I.layout = org.apache.log4j.PatternLayout log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m - %l %n ### 輸出FATAL 級別以上的日誌到=E://logs/fatal.log ### log4j.appender.F = org.apache.log4j.DailyRollingFileAppender log4j.appender.F.File =E\://logs/fatal.log log4j.appender.F.Append = true log4j.appender.F.Threshold = FATAL log4j.appender.F.layout = org.apache.log4j.PatternLayout log4j.appender.F.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m - %l %n
前往E盤,會發現多了一個logs資料夾,下面有四個日誌檔案(如下圖):