【SSH三大框架】Struts2基礎第七篇:log4j打印出日誌資訊
阿新 • • 發佈:2019-01-31
把這個歸於Struts2是不太合適的,因為log4j是一個開源的程式碼專案,不僅僅可以用在Struts2上。
我們介紹一下log4j:通過使用log4j,我們可以把一些資訊輸出到控制檯、文字檔案、html檔案等等中
首先,建立一個java project,我們建立一個lib目錄,然後把log4j-1.2.15.jar或者其它版本的包引入進來並新增到path中去。
然後,我們定義一個簡單的邏輯類UserDao.java
可以看到,在程式碼中,我們首先是建立了一個Logger物件,並且新增要輸出日誌的類package cn.com; import org.apache.log4j.Logger; public class UserDao { public static final Logger logger = Logger.getLogger(UserDao.class); public void add(){ logger.debug("這是debug級別"); logger.info("這是info級別"); logger.warn("這是warn級別"); logger.error("這是error級別"); logger.fatal("這是fatal級別"); } }
然後,在src目錄下建立:log4j.properties
log4j.appender.stout=org.apache.log4j.ConsoleAppender
log4j.appender.stout.layout=org.apache.log4j.PatternLayout
log4j.appender.stout.layout.ConversionPattern=[%p][%l]-->%m(%d)%n
log4j.rootLogger=DEBUG,stout
我們分析下上邊操作的步驟:
然後,我們建立一個類,用來測試:1、匯入包 2、建立Logger物件 //public static final Logger logger = Logger.getLogger(UserDao.class); 3、編寫相應的日誌 /**可以為日誌設定不同的級別,在log4j中: debug<info<warn<error<fatal **/ logger.debug("這是debug級別"); logger.info("這是info級別"); logger.warn("這是warn級別"); logger.error("這是error級別"); logger.fatal("這是fatal級別"); 4、編寫日誌的配置檔案,以此說明日誌的顯示方式和級別(在src目錄下建立log4j.properties檔案) 4、1 首先建立Append log4j.appender.stout=org.apache.log4j.ConsoleAppender 4、2 說明展示的佈局 log4j.appender.stout.layout=org.apache.log4j.PatternLayout 說明用哪種佈局進行展示,常用的是PatternLayout來展示 4、3 說明通過什麼樣的格式來完成展示 log4j.appender.stout.layout.ConversionPattern==[%p][%l]-->%m(%d) 使用的格式是[什麼級別的日誌][日誌的發生地]-->日誌資訊(日誌時間) 5、在什麼時候輸出日誌 log4j.rootLogger=DEBUG,stout rootLogger是根目錄的Logger,每一個專案的classpath就是根目錄,只要執行到輸出日誌的位置,並且日誌的級別大於DEBUG,就會輸出
package cn.junit;
import cn.com.UserDao;
public class TestLog {
public static void main(String[] args) {
UserDao u = new UserDao();
u.add();
}
}
執行這個類的main函式,控制檯就會打印出相應的日誌資訊