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
在Logback里面默认的日志输出级别有三种WARN、INFO、DEBUG,在项目启动的时候选择Debug模式来启动,控制台会输出Debug级别日志。
自定义Logback文件
在项目的src/main/resources创建logback.xml文件,这里文件创建的命名规范官方给的推荐最好为logback-spring.xml,spring boot 的application.yml可以为它添加特有的配置项。
现在我们来看自定义logback文件的配置
首先是根节点的配置
scan : 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
scanPeriod : 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
和都是子节点
Appender用来格式化日志输出节点,有两个属性name和class,class用来指定哪种输出策略,常用就是控制台输出策略和文件输出策略。 同时可以指定日志文件的输出名、保留天数、文件大小、以及打印的日志级别。 可以定义多个Appender子节点来对需要输出的日志文件级别做控制。
layout:
关于标签,主要是做控制台的日志输出。
encoder:
主要是做日志文件的输出,主要是将个event事件转换成一组byte数组,其次是将转换后的字节数据输出到文件中
rollingPolicy:
TimeBasedRollingPolicy:它根据时间来制定滚动策略.时间滚动策略可以基于时间滚动按时间生成日志。
下面为我项目中对于root和logger的配置
启动项目控制台输出定义不同级别的日志
多环境日志输出
application.yml 会根据不同的环境读取对应的logback配置文件
来源:https://juejin.cn/post/7154300114490621965
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java 获取Web项目相对webapp地址的实例
spring框架cacheAnnotation缓存注释声明解析
![](https://img.aspxhome.com/file/2023/3/65323_0s.png)
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
![](https://img.aspxhome.com/file/2023/4/64064_0s.png)
Java Mybatis框架Dao层的实现与映射文件以及核心配置文件详解分析
![](https://img.aspxhome.com/file/2023/7/61587_0s.png)
分享我的第一次java Selenium自动化测试框架开发过程
![](https://img.aspxhome.com/file/2023/5/66485_0s.png)
add方法理解ArrayList的扩容机制
java设计模式之外观模式学习笔记
![](https://img.aspxhome.com/file/2023/8/63688_0s.jpg)
java中的实体类时间格式化
![](https://img.aspxhome.com/file/2023/3/63393_0s.png)
Springboot如何操作redis数据
详解Android的.aar文件生成方法以及使用技巧
![](https://img.aspxhome.com/file/2023/9/85459_0s.jpg)
基于springboot的flowable工作流实战流程分析
![](https://img.aspxhome.com/file/2023/3/64803_0s.png)
Java String类的理解及字符串常量池介绍
![](https://img.aspxhome.com/file/2023/4/66934_0s.png)
C#中动态显示当前系统时间的实例方法
Java实现注册登录与邮箱发送账号验证激活功能
![](https://img.aspxhome.com/file/2023/6/60756_0s.png)
Java链表(Linked List)基本原理与实现方法入门示例
![](https://img.aspxhome.com/file/2023/4/60824_0s.png)
Java多线程中关于join方法的使用实例解析
Java中的zookeeper常用命令详解
![](https://img.aspxhome.com/file/2023/2/62752_0s.png)
Spring Security之默认的过滤器链及自定义Filter操作
![](https://img.aspxhome.com/file/2023/3/59733_0s.png)
使用maven profile指定配置文件打包适用多环境的方法
![](https://img.aspxhome.com/file/2023/7/64507_0s.png)
java开发之读写txt文件操作的实现
![](https://img.aspxhome.com/file/2023/3/59553_0s.png)