Logback日志框架(超详细)

logback-classic-1.2.3.jaricon-default.png?t=N7T8http://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦      logback-core-1.2.3.jaricon-default.png?t=N7T8http://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5ypt 复制这段内容后打开百度网盘手机App,操作更方便哦   slf4j-api-1.7.26.jaricon-default.png?t=N7T8http://链接: https://pan.baidu.com/s/1d8gQRtzCYrJWYaG5G7Lgwg 提取码: k6si 复制这段内容后打开百度网盘手机App,操作更方便哦

Logback快速入门

接下来,就带领同学们快速使用一下Logback日志框架,使用Logback记录几条日志信息到文件中去和将日志信息打印在控制台上。

由于Logback是第三方提供的技术,所以首先需要啊将Jar包引入到项目中,具体步骤如下

  1. 在资料中找到slftj-api.jar、logback-core.jar、logback-classes.jar 这三个jar包,复制一下

  2. 在当前模块下面新建一个lib文件夹,把刚刚复制的三个jar包都粘贴到此处

  3. 从资料中找到logback.xml配置文件,将此文件复制粘贴到src目录下(必须是src目录)

  4. <?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个字符宽度
                    %msg:日志消息,%n是换行符-->
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level]  %c [%thread] : %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>D:/log/itheima-data.log</file>
            <!--指定日志文件拆分和压缩规则-->
            <rollingPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--通过指定压缩文件名称,来确定分割文件方式-->
                <fileNamePattern>D:/log/itheima-data-%i-%d{yyyy-MM-dd}-.log.gz</fileNamePattern>
                <!--文件拆分大小-->
                <maxFileSize>1MB</maxFileSize>
            </rollingPolicy>
        </appender>
    
        <!--
            1、控制日志的输出情况:如,开启日志,取消日志
        -->
        <root level="debug">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE" />
        </root>
    </configuration>

  5. 然后就可以开始写代码了,在代码中创建一个日志记录日对象

    public static final Logger LOGGER = LoggerFactory.getLogger("当前类名");
  6. 开始记录日志,代码如下

public class LogBackTest {
    // 创建一个Logger日志对象
    public static final Logger LOGGER = LoggerFactory.getLogger("LogBackTest");

    public static void main(String[] args) {
        //while (true) {
            try {
                LOGGER.info("chu法方法开始执行~~~");
                chu(10, 0);
                LOGGER.info("chu法方法执行成功~~~");
            } catch (Exception e) {
                LOGGER.error("chu法方法执行失败了,出现了bug~~~");
            }
        //}
    }

    public static void chu(int a, int b){
        LOGGER.debug("参数a:" + a);
        LOGGER.debug("参数b:" + b);
        int c = a / b;
        LOGGER.info("结果是:" + c);
    }
}

当我们运行程序时,就可以看到控制台记录的日志

同时在文件中,也有一份这样的日志信息。文件在哪里内,从配置文件中去找

3.4 日志配置文件

Logback提供了一个核心配置文件logback.xml,日志框架在记录日志时会读取配置文件中的配置信息,从而记录日志的形式。具体可以做哪些配置呢?

1. 可以配置日志输出的位置是文件、还是控制台
2. 可以配置日志输出的格式
3. 还可以配置日志关闭和开启、以及哪些日志输出哪些日志不输出。
  • 如下图所示,控制日志往文件中输出,还是往控制台输出

  • 如下图所示,控制日志的输出的格式

    日志格式是由一些特殊的符号组成,可以根据需要删减不想看到的部分。比如不想看到线程名那就不要[%thread]。但是不建议同学们更改这些格式,因为这些都是日志很基本的信息。

  • 3.5 配置日志级别

相关推荐

  1. slf4j日志框架logback详解

    2024-04-09 20:34:01       25 阅读
  2. SpringBoot整合Logback日志框架

    2024-04-09 20:34:01       35 阅读
  3. Spring Boot项目中集成Logback作为日志框架-笔记

    2024-04-09 20:34:01       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 20:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 20:34:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 20:34:01       82 阅读
  4. Python语言-面向对象

    2024-04-09 20:34:01       91 阅读

热门阅读

  1. 保定市公安局依法为民赢赞誉

    2024-04-09 20:34:01       40 阅读
  2. 如何判断一个linux机器是物理机还是虚拟机

    2024-04-09 20:34:01       35 阅读
  3. Docker详细安装与使用教程:从入门到实践

    2024-04-09 20:34:01       38 阅读
  4. C++ :手动实现std::any

    2024-04-09 20:34:01       33 阅读
  5. Vue3有哪些常用的API

    2024-04-09 20:34:01       34 阅读
  6. 怎么使用jwt,token以及redis进行续期?

    2024-04-09 20:34:01       35 阅读
  7. Docker日常系列

    2024-04-09 20:34:01       33 阅读
  8. Vue组合式函数,详细解析

    2024-04-09 20:34:01       35 阅读