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
相关文章
相关标签/搜索