Springboot项目中如何配置logback日志系统的详细教程 | 您所在的位置:网站首页 › 多个logbackxml冲突 › Springboot项目中如何配置logback日志系统的详细教程 |
在开发项目过程中,往往需要使用日志来记录生成的异常信息,这样更方便维护。而当前logback是比较流行的日志框架之一,下面,就和大家讲讲在Springboot项目里如何配置logback日志系统。 logback依赖jar包SpringBoot项目配置logback理论上需要添加logback-classic依赖jar包: ch.qos.logback logback-classic 1.2.3但是因为SpringBoot项目默认就是使用的就是logback日志系统,创建SpringBoot项目时引入的spring-boot-starter或者spring-boot-starter-web依赖jar包中已经包含了spring-boot-starter-logging的依赖,里面同时包含多种日志系统依赖,如下图所示: 包括logback和log4j,所以,无需额外添加依赖,直接配置logback.xml就可以了。 此外,如果需要切换为log4j2,那么需要在spring-boot-starter-web依赖中排除springboot自带的commons‐logging,然后在引入log4j2的依赖jar包,如下所示: org.springframework.boot spring-boot-starter-web commons‐logging commons‐logging org.springframework.boot spring-boot-starter-log4j2 logback的默认配置前面说到SpringBoot项目默认使用logback,那么对于logback的配置情况,SpringBoot又是如何定义的呢? 首先,SpringBoot会从resource包下查找logback-test.xml或logback.xml ,如果这两个都不存在,则会调用BasicConfigurator,创建一个最小化的基本配置。 最小化配置由一个关联到根logger的ConsoleAppender组成,默认输出模式为%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n,root logger级别为DEBUG,所以并不会生成日志文件,只会输出到控制台。 创建logback.xml配置文件通过自定义logback.xml配置文件来控制日志输出情况,通常我们会配置三个日志组件: 控制台输出 输出info级别日志文件 输出error级别日志文件以下为logback.xml完整配置 %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n ${LOG_PATH}/info.log ${LOG_PATH}/info-%d{yyyy-MM-dd}.%i.log 30 100MB %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n ERROR ${LOG_PATH}/error.log ${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log 30 100MB %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n logback配置说明 根节点configurationconfiguration包含以下三个属性: scan:配置文件发生更改时,进行重载,默认值为true scanPeriod:监测配置文件是否有修改的时间间隔,默认值为6000,默认单位为毫秒 debug:打印logback内部日志信息,实时查看logback运行状态,默认值为false 子节点property:用来定义变量值,包含以下两个属性 name:变量名称 value:变量定义的值通过property定义的值会被插入到logger上下文中,可以使${}来使用变量,这里定义了log的保存位置根目录。 子节点appender:是负责写日志的组件,通过自定义日志组件控制日志输出的情况,包含以下两个属性: name:组件名称 class:组件class指定的类名不同的class,对应不同的功能: 如ch.qos.logback.core.ConsoleAppender会把日志输出到控制台 ch.qos.logback.core.rolling.RollingFileAppender把日志内容输出到指定文件 File节点:日志文件输出的文件名 ${LOG_PATH}/info.logfilter节点:过滤器,用来指定日志组件的日志输出级别,优先级高于root节点的level。 ERROR rollingPolicy节点:滚动日志文件配置,涉及日志文件的移动和重命名,只有一个class属性,用来指定滚动策略,这里使用的是ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy 包含以下三个属性: fileNamePattern:发生滚动时的日志命名方式 maxHistory:日志文件的最大保留时间,超过设定时间后会自动删除 maxFileSize:每份日志文件的最大限制,超出限制后会重新生成,并将旧的日志文件按照fileNamePattern设定的日志命名方式进行命名 ${LOG_PATH}/error-%d{yyyy-MM-dd}.%i.log 30 100MB 子节点encoder %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:-} --- [%t] %logger{50} - %msg%n对记录事件进行格式化,负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流。 PatternLayoutEncoder 是唯一有用的且默认的encoder ,有一个 节点,用来设置日志的输入格式。使用“%”加“转换符”方式,如果要输出“%”,则必须用“”对“%”进行转义。 子节点root根loger,是所有loger的最上级,且只有一个level节点,用类设置打印日志的级别,默认值为debug,通常设置为info,此外还有trace、warn、error、all、off级别。 子节点appender-ref的ref属性指定日志组件名称,即appender的name属性值。 使用logback在yml文件中增加logging.config指定配置文件地址,命名为logback时可以不需要配置,SpringBoot`会自动查找。 level设置指定路径下的日志输出级别。 logging: config: classpath:logback.xml level: com: springboot: debug如图所示,项目启动后,访问接口输出日志内容并生成指定日志文件: 到这里,本篇关于在Springboot项目中如何去配置logback日志系统详细教程的文章就介绍到结束了,想要了解更多相关Springboot日志logback的内容,请多多关注W3Cschool!如果觉得本篇文章不错,还希望大家多多支持! |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |