1.介紹Junithtml
2.Junit的使用java
3.介紹log4jweb
4.log4j的使用apache
Junit是一個java語言單元測試的框架,這款框架旨在對java程序進行單元測試,而且寫好的方法不須要在主函數中進行調用就可測試。app
單元測試也就是常說的白盒測試。框架
Junit 的使用很是簡單,大體可分爲一下步驟ide
1.導入jar包函數
jar包地址以下http://www.mvnjar.com/junit/junit/4.12/detail.html工具
2.編寫測試方法單元測試
測試方法有以下特徵:
1.不能有返回值
2.不能有參數
3.在測試方法上使用註解
經常使用的junit註解有:
@Test:測試的方法註解
@Ignore:不被測試的方法註解
@Before:每次測試以前的方法註解,會在每個測試方法以前運行(若是有多個測試方法則會屢次運行)
@After:每次測試以後的方法註解,會在每個測試方法以後運行(若是有多個測試方法則會屢次運行)
@BeforeClass:在全部測試方法測試以前運行,只會在尚未進行測試的方法以前運行,優先級是最高的(只會運行一次)
@AfterClass:在全部測試方法測試以後運行,只會在全部測試方法以後運行,優先級是最高的(只會運行一次)
4.進行Junit單元測試
Junit單元測試demo以下:
package com.demo.junit; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import junit.framework.Assert; public class Cal { @BeforeClass public static void init(){ System.out.println("初始化完畢"); } @AfterClass public static void destroy(){ System.out.println("銷燬完畢"); } @Ignore public void test1(){ System.out.println("test1"); } @Test public void test2(){ System.out.println("test2"); Assert.assertEquals(2, 3); } @Test public void test3(){ System.out.println("test3"); Assert.assertTrue(false); } }
Apache Log4j是一個基於java的日誌記錄工具。
程序中用戶的某些操做能夠用日誌記錄下來,程序異常也能夠用日誌記錄下來。
這樣的好處在於----程序出錯了,能夠直接查看日誌文件進行錯誤定位。
日誌的結構:
一、日誌優先級
OFF FATAL> ERROR >WARN >INFO>DEBUG + ALL
二、日誌輸出目的地(Appender)
ConsoleAppender:輸出到控制檯
FileAppender:輸出到文件
DailyRollingAppender:天天產生一個日誌文件
RollingFileAppender:日誌文件產生到必定的大小後,再自動建立新的日誌文件。
三、日誌的輸出格式
HTMLPattern HTML格式
SimpleLayout 基本格式(日誌級別和信息)
PatterLayout 靈活指定
具體的輸出格式
%n 換行
%m 日誌的內容
%p 日誌的級別 priority
%l 日誌發生的位置 location
%d 日誌發生的時間
%t 日誌發生的線程名
%r 表示從啓動應用到寫入該日誌花費的毫秒數
使用步驟:
1.導入jar包
jar包地址:http://www.mvnjar.com/com.opsbears.webcomponents.application.slf4j/log4j/1.0.0-alpha13/detail.html
2.建立日誌配置文件
在項目的src下建立名爲log4j.properties的文件
一下是一個自定義的一個模板
#定義log4j的根(制定日誌級別和Appender) log4j.rootLogger = INFO,A1,A2,A3 #定義日誌目的地1 控制檯Appender log4j.appender.A1 = org.apache.log4j.ConsoleAppender #定義A1的輸出格式(靈活的輸出格式) log4j.appender.A1.layout = org.apache.log4j.PatternLayout #定義A1具體的輸出格式 log4j.appender.A1.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定義日誌目的地2 控制檯Appender log4j.appender.A2 = org.apache.log4j.FileAppender #定義A2的輸出格式(靈活的輸出格式) log4j.appender.A2.layout = org.apache.log4j.PatternLayout #定義A2具體的輸出格式 log4j.appender.A2.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定義日誌文件的路徑 log4j.appender.A2.file = F:\\log4j\\debug.log #定義日誌目的地3 控制檯Appender log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender #定義A2的輸出格式(靈活的輸出格式) log4j.appender.A3.layout = org.apache.log4j.PatternLayout #定義A2具體的輸出格式 log4j.appender.A3.layout.ConversionPattern = [%p](%l) -->%m[%r][%t]--%d%n #定義日誌文件的路徑(單天的以1.log命名,以前的文件以日期格式命名) log4j.appender.A3.file = F:\\log4j\\1.log #定義日誌文件的命名規範 以前的 log4j.appender.A3.DatePattern = yyyy-MM-dd'.log' #定義日誌文件的追加模式 (文件追加) log4j.appender.A3.Append = true
日誌模板能夠在官方下載
3.日誌記錄
記錄日誌須要使用Logger對象
package com.demo.log4j; import org.apache.log4j.Logger; import org.junit.Test; public class App { Logger logger = Logger.getLogger(this.getClass()); @Test public void run() { logger.info("info信息"); logger.debug("debug信息"); try { Object obj = null; obj.toString(); logger.warn("這是一個日誌"); } catch (Exception e) { logger.error(e.getMessage()); logger.fatal(e.getMessage()); } } }