目录

一、配置内容及效果

二、配置解析

三、插件推荐

四、推荐大牛文章


一、配置内容及效果

1、配置项目展示

2、logback-spring.xml日志配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!--scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。configuration 子节点为 appender、logger、root
-->
<configuration scan="true" scanPeriod="60 seconds" debug="false"><!--source是启动配置文件中的配置,如果没有则使用默认值 1是系统名称,2是日志输出路径--><springProperty scope="context" name="appName" source="spring.application.name" defaultValue="appName"/><springProperty scope="context" name="my.log.path" source="my.log.path" defaultValue="logs"/><!-- 将日志输出到指定目录文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件名称,按照应用输出日志 --><file>${my.log.path}/${appName}.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--文件名称,按照大小和时间对日志进行切割 当到达20mb后自动归档切割或者第二天也会归档--><fileNamePattern>${my.log.path}/${appName}-%d{yyyyMMdd}.%i.log</fileNamePattern><maxFileSize>20MB</maxFileSize></rollingPolicy><!--  展示格式 encoder-表示输出到文件 --><encoder><charset>UTF-8</charset><pattern>%d %-5level [ %thread ] %-36logger{36} - [%X{requestId:-SYSTEM}]: %msg%n</pattern></encoder></appender><!-- 输出到控制台 ConsoleAppender --><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"><!-- 展示格式 layout-表示输出到控制台 --><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%d %-5level [ %thread ] %boldMagenta(%-36logger{36}) %highlight(- [%X{requestId:-SYSTEM}]:) %cyan(%msg%n)</pattern></layout></appender><!-- 指定最基础的日志输出级别 --><root level="INFO"><!-- appender将会添加到这个loger --><appender-ref ref="consoleLog"/><appender-ref ref="FILE"/></root>
</configuration>

3、配置application.yml文件(第一个是必须配置,后面两个可以不配,让logback-spring.xml使用默认的值)

#开启日志
logging:level:root: info#日志使用logback.xml格式的文件路径config: classpath:logback-spring.xml#应用名称
spring:application:name: app#日志输出路径,路径存在则自动创建并使用,此配置未配则用默认值
my:log:path: C:/tmp/log

4、效果展示

4.1 不配application.yml后面的参数,效果

4.2 配application.yml后面的参数,效果(直接在C盘中生成了,不在项目路径)

日志内容效果

二、配置解析

1、springProperty节点 资源统筹配置

    <!--source是启动配置文件中的配置,如果没有则使用默认值 1是系统名称,2是日志输出路径--><springProperty scope="context" name="appName" source="spring.application.name" defaultValue="appName"/><springProperty scope="context" name="my.log.path" source="my.log.path" defaultValue="logs"/>

name是后面日志参数用$来解析,source是spring启动文件配置的信息,defaultValue的值是当source没用配置时,使用的默认值

2、appender节点 输出日志信息配置--一般配置多个节点,搭配使用

2.1 输出到控制台的日志

    <!-- 输出到控制台 ConsoleAppender --><appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"><!-- 展示格式 layout-表示输出到控制台 --><layout class="ch.qos.logback.classic.PatternLayout"><pattern>%d %-5level [ %thread ] %boldMagenta(%-36logger{36}) %highlight(- [%X{requestId:-SYSTEM}]:) %cyan(%msg%n)</pattern></layout></appender>

2.2 输出到文件的日志

    <!-- 将日志输出到指定目录文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 文件名称,按照应用输出日志 --><file>${my.log.path}/${appName}.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--文件名称,按照大小和时间对日志进行切割 当到达20mb后自动归档切割或者第二天也会归档--><fileNamePattern>${my.log.path}/${appName}-%d{yyyyMMdd}.%i.log</fileNamePattern><maxFileSize>20MB</maxFileSize></rollingPolicy><!--  展示格式 encoder-表示输出到文件 --><encoder><charset>UTF-8</charset><pattern>%d %-5level [ %thread ] %-36logger{36} - [%X{requestId:-SYSTEM}]: %msg%n</pattern></encoder></appender>

${my.log.path}这里类似的参数,都在启动文件配置,如果没有配置则会使用1上说的默认参数。

SizeAndTimeBasedRollingPolicy类里面的配置是针对日志分割归档使用,分别是按天和按大小,如果一天中没有超过20m就到第二天分割出来归档,如果当天超过20m就马上分割。

2.3 pattern节点 日志参数解析

  • %d{HH: mm:ss.SSS}——日志输出时间
  • %thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用
  • %-5level——日志级别,并且使用5个字符靠左对齐
  • %logger{36}——日志输出者的名字
  • %msg——日志消息
  • %n——平台的换行符
  • %xx()——xx指颜色,括号内是指用这种颜色渲染

3、root节点配置 控制输出哪些appender节点

    <!-- 指定最基础的日志输出级别 --><root level="INFO"><!-- appender将会添加到这个loger --><appender-ref ref="consoleLog"/><appender-ref ref="FILE"/></root>

三、插件推荐

1、插件名称Grep Console

2、插件配置,画了圈的都要配

3、最终效果

四、推荐大牛文章

如果大家觉得想更深入去学习,推荐一篇真的详细的文章:日志超详细配置

如果有啥不懂欢迎留言。

SpringBoot logback-spring配置,再也不用为日志烦恼了。再推荐IDEA一个日志插件Grep Console美美哒展示控制台输出相关推荐

  1. Android 日志自动分析,Android Log Viewer:一个日志查看器工具,可简化实时对Android日志的分析...

    作为与Cordova一起工作的移动应用程序开发人员, 我知道调试应用程序的本机部分会很困难, 例如, 当你为应用程序创建本机插件时(在这种情况下, Android Studio无效).在试图找出我的应 ...

  2. linux每天生成一个日志文件,使Apache每天产生一个日志文件

    Linux:使Apache每天产生一个日志文件,解决apache日志文件过大的问题. 方法: 用rotatelogs实现apache日志按日期存放. 操作步骤: 一.在apache的配置文件中找到 E ...

  3. MyBatis日志插件:Mybatis Log Plugin——将控制台输出的mybatis日志转化成可执行的sql语句

    文章目录 官网 前言 安装 使用 特别说明 官网   

  4. SpringBoot+logback实现日志打印

    SpringBoot+logback 一.日志简介 1.SLF4J介绍 二.SpringBoot集成logback 1.配置文件详解 1.彩色日志 2.appender 3.root和logger详解 ...

  5. spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2

    spring boot:从零开始搭建一个项目 - day 4 控制台输出日志美化 + swagger2 一.logback.xml配置日志美化 二.集成swagger2 1.引入依赖 2.编写配置文件 ...

  6. 十年老架构师神级推荐,MyBatis源码分析,再也不用为源码担忧了

    十年老架构师神级推荐,MyBatis源码分析,再也不用为源码担忧了 前言 MyBatis是一个优秀的持久层ORM框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花 ...

  7. logback使用配置详解

    1.介绍 Logback是由log4j创始人设计的另一个开源日志组件,它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改 ...

  8. SpringBoot排除数据源配置,配置决定行为

    项目场景: 最近接到一个需求,大概意思呢就是数据库连接不够用了,部分服务(分服务)就不需要配置数据源了,需要跟db打交道的地方全部改成rpc去调用具备db能力的服务(总服务) 问题描述: 其实需要改的 ...

  9. asp.net core使用serilog将日志推送到腾讯云日志服务

    为什么是serilog? Serilog是 .NET 中最著名的结构化日志类库. 基于日志事件log events,而不是日志消息log message. 你可以将日志事件格式化为控制台的可读文本或者 ...

最新文章

  1. python安装cvxpy
  2. 026——VUE中事件修饰符之使用$event与$prevent修饰符操作表单
  3. int类型存小数 mysql_MySQL基本数据类型
  4. python + selenium 搭建环境步骤
  5. voxblox建图教程
  6. Java多线程基础学习一:线程的6种状态和相互转化
  7. centos下openfire安装(转)
  8. VMware SDS 之四: VSAN的技术细节 (含VSAN 6.0、6.1版的新内容)
  9. 【LeetCode 231】Power of Two
  10. 动态规划实战1-leetcode 983.Minimum Cost For Tickets
  11. java核心技术卷1学习思维导图
  12. echarts入门教程(超级详细带案例)
  13. 使用微PE制作纯净版装机U盘(纯小白教程)
  14. Guava base -- Joiner
  15. 万字长文 | 关于Filecoin期货与矿机,你想知道的一切都在这
  16. android图片编辑加文字,图片编辑加字下载-图片编辑加字 安卓版v3.9.0.0406-PC6安卓网...
  17. Stashed changes conflicted with hook auto-fixes...
  18. OpenCV C++入门,读取和显示一张图片
  19. 爬取虎牙TV全站主播信息
  20. out of synch 不同步是什么意思?

热门文章

  1. springboot 7天签到功能设计 数据库表设计 加代码
  2. Revit中建筑柱和结构柱的区分以及梁的搭建之学习记录
  3. Virgo软件的介绍
  4. PPT高手常掉进的7个陷阱(下)
  5. 解读 拉格朗日插值法python,保你学明白
  6. LibreOJ #6177. 「美团 CodeM 初赛 Round B」送外卖2【状压DP】
  7. 3D全景图,全景视频,陀螺仪
  8. RSA加密解密和签名的应用场景
  9. Repair Pipelining for Erasure-Coded Storage(ATC‘17)
  10. 为什么Java 服务Docker容器耗尽了系统内存