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

相关推荐
是老余2 天前
Logback 日志介绍及与Spring Boot 的整合 【保姆级教程】
spring boot·后端·logback
蓝染-惣右介4 天前
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
单元测试·log4j·logback
MinggeQingchun8 天前
Java - SpringBoot之logback设置日期分割并设置指定时间自动清除,Linux启动运行
logback
( •̀∀•́ )92012 天前
使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
xml·spring·logback
一路奔跑131417 天前
logback日志脱敏后异步写入文件
logback·异步·日志脱敏
white camel18 天前
Java从入门到架构师_日志框架系列
java·logback·log4j2·日志·slf4j
wyh10611518 天前
01 springboot-整合日志(logback-config.xml)
xml·spring boot·logback
小萌新上大分18 天前
logback日志导入使用
java·开发语言·logback·日志·javaee·log·logback在测试中使用
hgSuper19 天前
【Java】java | logback日志配置 | 按包配置级别
java·logback
M00SE20 天前
log4j 和 logback 冲突解决
java·log4j·logback