JavaSE进阶-day14思维导图,每日总结

 

JavaSE进阶-day14

1.日志

概述: 日志可以理解为是一个输出语句,他可以输出到控制台,也可以输出到文件.
分类:
    日志的规范: commons-loggin(效率低), slf4j(效率高)
    日志的实现: log4j, logback(常用)

2.logback

2.1 概述

概念: logback是一种实现了slf4j规范的日志包.
注意:
    1.logback的配置文件的名字必须是"logback.xml"
    2.配置文件存放的位置必须是"src根目录"
    3.logback日志分为"TRACE,DEBUG,INFO,WARN,ERROR,ALL和OFF",默认"DEBUG"
    4.日志会打印"大于等于当前级别的信息"

2.2 操作

① 导入jar包

jar包:
    logback-classic-1.2.3.jar   日志的实现
    logback-core-1.2.3.jar  基本代码
    slf4j-api-1.7.26.jar 日志的规范
步骤:
    1.在当前模块下,创建一个名字叫做lib的文件夹
    2.把jar包复制到lib文件夹中
    3.在lib文件夹上"右键 -> Add As Library"

② 导入配置文件(logback.xml)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
​
    <!--
        CONSOLE :表示当前的日志信息是可以输出到控制台的。
    -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <!--输出流对象 默认 System.out 改为 System.err-->
        <target>System.out</target>
        <encoder>
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度
               %c:运行的类 %msg:日志消息,%n是换行符-->
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n</pattern>-->
            <pattern>%date{yyyy-MM-dd HH:mm:ss} %green(%-5level) --- [%thread] %cyan(%logger{36}) : %msg%n</pattern>
        </encoder>
    </appender>
​
    <!-- File是输出的方向通向文件的 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
            <charset>utf-8</charset>
        </encoder>
        <!--日志输出路径-->
        <file>C:/code/itheima-data.log</file>
        <!--指定日志文件拆分和压缩规则-->
        <rollingPolicy  class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--通过指定压缩文件名称,来确定分割文件方式-->
            <fileNamePattern>C:/code/itheima-data-%d{yyyy-MMdd}.log%i.gz</fileNamePattern>
            <!--文件拆分大小-->
            <maxFileSize>1MB</maxFileSize>
        </rollingPolicy>
    </appender>
​
    <!--
        level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF, 默认debug
        <root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
    -->
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <!--<appender-ref ref="FILE" />-->
    </root>
</configuration>

③ 记录日志

public class LogDemo {
​
    //1.获取日志对象
    private static final Logger LOGGER = LoggerFactory.getLogger(当前类的类名.class);
​
    public static void main(String[] args) {
        //2.记录日志
        LOGGER.trace("追踪信息");
        LOGGER.debug("调试信息");
        LOGGER.info("普通信息");
        LOGGER.warn("警告信息");
        LOGGER.error("错误信息");
        //3.记录参数日志
        LOGGER.debug("用户名为:{},密码为:{}", "第1个参数自动放入第1个{}中","第2个参数自动放入第2个{}中");
        //4.记录异常信息
        LOGGER.debug("说明性信息",异常对象);
    }
}

3.枚举

概述:
    枚举就是固定的选项,只能在这些选项中选择,不能自定义.
格式:
    public enum 枚举名{
        枚举项1, 枚举项2, 枚举项3;   //枚举可以有多个枚举项
    }
注意:
    1.每个枚举项都是枚举的一个对象.
    2.枚举的使用方式"枚举名.选项"

4.单元测试

4.1 概述

概念: 单元测试可以替换main方法,可以做到每个方法都能独立运行. 一般用于功能测试.
注意:
    1.单元测试的方法不能有参数
    2.单元测试的方法不能有返回值类型
    3.单元测试的方法访问修饰符必须是public
    4:单元测试的方法不能添加static关键字

4.2 步骤

① 导入jar包

junit-4.12.jar
hamcrest-core-1.3.jar

② 添加@Test注解

public class TestDemo {
    @Test
    public void aaa() {
        //输入流->添加@Test注解后,该方法就可以独立运行了
    }
}

4.3 其他注解

@Before:放在方法上,会在@Test测试方法执行之前执行.
@After:放在方法上,会在@Test测试方法执行之后执行.

5.断言(扩展)

5.1 概述

概念: 断言指的是"推断".
注意: 断言是"单元测试"中的一个功能,一般也只用在"单元测试"中.

5.2 语法

Assert.assertEquals(预期值,实际值);   //如果"预期值"和"实际值"不一样,则断言失败,则报错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值