• 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

      

  • 相关阅读:
    避免因为Arcgis Server服务设置不当导致Oracle Process溢出的方法
    ArcSOC进程数不断增长导致oracle processes溢出原因分析
    PostgreSQL中的Toast Pointer
    SQLite中字段顺序和PAGE_SIZE对性能的影响
    PG数据库CPU和内存满负荷运转优化案
    ArcGIS Server浏览地图服务无响应原因分析说明
    PythonWeb全栈开发-虚拟环境搭建
    C 语言学习——错误处理
    C 语言学习——Valgrind 内存问题简述
    HTML学习--拖放API实现拖放排序
  • 原文地址:https://www.cnblogs.com/bananafish/p/9748191.html
Copyright © 2020-2023  润新知