千家信息网

Springboot项目中怎么配置logback日志系统

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关Springboot项目中怎么配置logback日志系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。logback依赖jar包Spri
千家信息网最后更新 2026年11月04日Springboot项目中怎么配置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配置说明

根节点configuration

    

configuration包含以下三个属性:

  • 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.log

filter节点:过滤器,用来指定日志组件的日志输出级别,优先级高于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日志系统"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

日志 配置 文件 输出 节点 属性 级别 组件 项目 控制 系统 三个 两个 变量 名称 情况 控制台 方式 时间 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 涨乐互联网科技 疫情对互联网科技公司影响 科技互联网技术 科技类互联网 北京互联网科技有限公司 广西互联网科技公司 互联网科技素材视频竖屏 深圳卡尔迅互联网科技有限公司怎么样 互联网校园科技培训 受益于互联网科技的高速发展 武汉健翔互联网络科技有限公司 国大互联网教育科技有限公司薪资 黑科技 体验场景 互联网大会 广州互联网高科技取餐柜 普陀区互联网教育科技管理办法 银川新华互联网科技学校是国营吗 科技互联网经济论坛 科技互联网专业工作会议发言稿 宁波允成互联网科技有限公司 互联网科技企业 保险科技 互联网保险 互联网科技财经 广州善班互联网科技 博兴的互联网电子科技公司 汽车互联网创新科技园 长沙互联网科技 广州富喜互联网络科技 广州燕处互联网科技有限公司 神州科技互联网有限公司
0