Spring boot 整合Logback过程示例解析

作者:Lxlxxx 时间:2021-12-06 04:05:52 

前言

我们通常使用Spring boot做项目搭建的基础框架,必然少不了它的内置日志框架Logback,在spring-boot-starter的jar包下面包含了spring-boot-starter-logging包,该包就是内置的日志框架Logback。

默认Logback配置

我们在启动Spring boot项目的时候会发现,没有配置任何Log和日志打印的文件,控制台却输出了日志,这是源于logback的base.xml里面默认的root日志级别为INFO

Spring boot 整合Logback过程示例解析

在Logback里面默认的日志输出级别有三种WARN、INFO、DEBUG,在项目启动的时候选择Debug模式来启动,控制台会输出Debug级别日志。

自定义Logback文件

在项目的src/main/resources创建logback.xml文件,这里文件创建的命名规范官方给的推荐最好为logback-spring.xml,spring boot 的application.yml可以为它添加特有的配置项。

现在我们来看自定义logback文件的配置

Spring boot 整合Logback过程示例解析

首先是根节点的配置

  • scan : 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。

  • scanPeriod : 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。

和都是子节点

Spring boot 整合Logback过程示例解析

Appender用来格式化日志输出节点,有两个属性name和class,class用来指定哪种输出策略,常用就是控制台输出策略和文件输出策略。 同时可以指定日志文件的输出名、保留天数、文件大小、以及打印的日志级别。 可以定义多个Appender子节点来对需要输出的日志文件级别做控制。

layout:

关于标签,主要是做控制台的日志输出。

encoder:

主要是做日志文件的输出,主要是将个event事件转换成一组byte数组,其次是将转换后的字节数据输出到文件中

rollingPolicy:

TimeBasedRollingPolicy:它根据时间来制定滚动策略.时间滚动策略可以基于时间滚动按时间生成日志。

下面为我项目中对于root和logger的配置

Spring boot 整合Logback过程示例解析

启动项目控制台输出定义不同级别的日志

Spring boot 整合Logback过程示例解析

多环境日志输出

Spring boot 整合Logback过程示例解析

application.yml 会根据不同的环境读取对应的logback配置文件

来源:https://juejin.cn/post/7154300114490621965

标签:Spring,boot,整合,Logback
0
投稿

猜你喜欢

  • Java 获取Web项目相对webapp地址的实例

    2022-07-03 17:46:00
  • spring框架cacheAnnotation缓存注释声明解析

    2022-04-14 17:13:05
  • 详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类

    2021-08-04 03:16:28
  • Java Mybatis框架Dao层的实现与映射文件以及核心配置文件详解分析

    2021-06-15 16:29:22
  • 分享我的第一次java Selenium自动化测试框架开发过程

    2021-05-30 01:16:25
  • add方法理解ArrayList的扩容机制

    2023-11-24 02:16:28
  • java设计模式之外观模式学习笔记

    2022-07-02 18:48:06
  • java中的实体类时间格式化

    2022-05-18 02:18:19
  • Springboot如何操作redis数据

    2022-05-30 21:36:41
  • 详解Android的.aar文件生成方法以及使用技巧

    2023-08-06 06:43:20
  • 基于springboot的flowable工作流实战流程分析

    2022-11-28 08:27:09
  • Java String类的理解及字符串常量池介绍

    2022-11-14 15:42:22
  • C#中动态显示当前系统时间的实例方法

    2023-06-20 14:46:02
  • Java实现注册登录与邮箱发送账号验证激活功能

    2023-11-05 09:21:57
  • Java链表(Linked List)基本原理与实现方法入门示例

    2021-10-12 05:49:14
  • Java多线程中关于join方法的使用实例解析

    2023-08-22 21:47:29
  • Java中的zookeeper常用命令详解

    2022-12-07 05:46:35
  • Spring Security之默认的过滤器链及自定义Filter操作

    2023-11-24 02:48:35
  • 使用maven profile指定配置文件打包适用多环境的方法

    2022-06-30 03:49:11
  • java开发之读写txt文件操作的实现

    2023-11-17 06:00:23
  • asp之家 软件编程 m.aspxhome.com