java学习----Junit&Log4j

目录

   1.介绍Junit

  2.Junit的使用

  3.介绍log4j

  4.log4j的使用

一、介绍Junit

  Junit是一个java语言单元测试的框架,这款框架旨在对java程序进行单元测试,并且写好的方法不需要在主函数中进行调用就可测试。

  单元测试也就是常说的白盒测试。

  

二、Junit的使用

  Junit 的使用非常简单,大致可分为一下步骤

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

3、介绍log4j

  Apache Log4j是一个基于java的日志记录工具。

  程序中用户的某些操作可以用日志记录下来,程序异常也可以用日志记录下来。

  这样的好处在于----程序出错了,可以直接查看日志文件进行错误定位。

4、log4j的使用

  日志的结构:

    1、日志优先级

       OFF FATAL> ERROR >WARN >INFO>DEBUG  +   ALL

    2、日志输出目的地(Appender)

      ConsoleAppender:输出到控制台
      FileAppender:输出到文件
      DailyRollingAppender:每天产生一个日志文件
      RollingFileAppender:日志文件产生到一定的大小后,再自动创建新的日志文件。

    3、日志的输出格式

      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

  

原文地址:https://www.cnblogs.com/bananafish/p/9748191.html