Spring boot 整合Logback过程示例解析
Lxlxxx 人气:0前言
我们通常使用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配置文件
总结
简单写了下,我们日常开发中需要配置的日志文件,Spring boot集成 logback。
加载全部内容