Logback日志框架(超详细)

logback-classic-1.2.3.jarhttp://链接: https://pan.baidu.com/s/1cA3gVB_6DEA-cSFJN6MDGw 提取码: sn8i 复制这段内容后打开百度网盘手机App,操作更方便哦 logback-core-1.2.3.jarhttp://链接: https://pan.baidu.com/s/19eCsvsO72a9PTqpXvXxrgg 提取码: 5ypt 复制这段内容后打开百度网盘手机App,操作更方便哦 slf4j-api-1.7.26.jarhttp://链接: 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目录)

复制代码
   <?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>
  1. 然后就可以开始写代码了,在代码中创建一个日志记录日对象

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

    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 配置日志级别

相关推荐
EumenidesJ22 天前
Java常用日志框架介绍
java·log4j·logback·slf4j
躲在没风的地方1 个月前
logback日志控制服务器日志输出
java·服务器·logback
ta叫我小白1 个月前
Spring Boot 设置滚动日志logback
java·spring boot·spring·logback
代码的余温1 个月前
Spring Boot集成Logback日志全攻略
xml·spring boot·logback
代码的余温1 个月前
Logback.xml配置详解与实战指南
xml·logback
清风92001 个月前
Logback——日志技术(基础)
java·前端·logback
代码的余温1 个月前
MyBatis集成Logback日志全攻略
java·tomcat·mybatis·logback
秋千码途1 个月前
小架构step系列08:logback.xml的配置
xml·java·logback
枣伊吕波1 个月前
第十五节:第六部分:日志技术:logback的核心配置文件详解、日志级别
logback
再见晴天*_*2 个月前
logback 日志不打印
java·服务器·logback