java學習----Junit&Log4j

目錄

   1.介紹Junithtml

  2.Junit的使用java

  3.介紹log4jweb

  4.log4j的使用apache

1、介紹Junit

  Junit是一個java語言單元測試的框架,這款框架旨在對java程序進行單元測試,而且寫好的方法不須要在主函數中進行調用就可測試。app

  單元測試也就是常說的白盒測試。框架

  

2、Junit的使用

  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);
    }
}

 

三、介紹log4j

  Apache Log4j是一個基於java的日誌記錄工具。

  程序中用戶的某些操做能夠用日誌記錄下來,程序異常也能夠用日誌記錄下來。

  這樣的好處在於----程序出錯了,能夠直接查看日誌文件進行錯誤定位。

 

四、log4j的使用

  日誌的結構:

    一、日誌優先級

       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());
        }
        
    }
}
Log4j記錄日誌demo
相關文章
相關標籤/搜索