自定义日志配置

spring boot2.2.4官方文档
logback中文文档

   1)spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统。

   2)spring boot底层使用slf4j + logback框架来实现日志记录,所以如果想要自定义logback配置,就无需添加相关依赖了(spring-booot-stater中已包含相关依赖)

   3)在类路径下放置自定义日志配置文件(xml配置文件),spring boot就不会使用它本身的默认日志配置了

   4)上图是spring boot官方文档的提示内容,意思是:根据您的日志记录系统,将加载相应的文件使用。即如果我们使用logback日志框架,那么可以使用logback-spring.xmllogback-spring.groovylogback.xmllogback.groovy之一作为配置文件来加载。

   5)spring boot官方建议使用logback-spring.xml作为logback框架的日志配置文件(例如:使用logback-spring.xml而不是logback.xml),因为带-spring后缀的配置文件可以使用spring boot提供的一些高级功能,如profile多环境日志输出

<springProfile name="staging"><!-- configuration to be enabled when the "staging" profile is active -->
</springProfile><springProfile name="dev | staging"><!-- configuration to be enabled when the "dev" or "staging" profiles are active -->
</springProfile><springProfile name="!production"><!-- configuration to be enabled when the "production" profile is not active -->
</springProfile>

logback-spring.xml

<?xml version="1.0" encoding="utf-8" ?>
<!--
1) 根节点<configuration>,包含下面三个属性:scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。-->
<configuration scan="true" scanPeriod="60" debug="false"><!--控制台输出日志格式--><property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss} -- %-5level -- [%thread] -- %logger{50} --- %msg %n}"/><!--文件输出日志格式--><property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd hh:mm:ss} -- %-5level -- [%thread] -- %logger{50} --- %msg %n}"/><!--Appender: 设置日志信息的去向,常用的有以下几个1) ch.qos.logback.core.ConsoleAppender (控制台)2) ch.qos.logback.core.rolling.RollingFileAppender (文件大小到达指定尺寸的时候产生一个新文件)3) ch.qos.logback.core.FileAppender (文件)--><!--控制台配置--><appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"><!--当环境是dev开发环境时,这部分配置才生效--><springProfile name="dev"><!--日志输出格式--><encoder><pattern>${CONSOLE_LOG_PATTERN}</pattern></encoder></springProfile><!--当环境不是dev开发环境时,这部分配置才生效--><springProfile name="!dev"><!--日志输出格式--><encoder><pattern>--%logger{50} --- %msg %n</pattern></encoder></springProfile></appender><!--日志记录文件配置--><appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!--当环境是production生产环境时,这部分配置才生效即在production生产环境上,我们才将日志信息记录到日志文件中--><springProfile name="production"><!--日志文件保存路径,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建 -->--><file>D:\idea\logs\example-logging.log</file><!--基于大小和时间的轮转策略,当日志内容超出文件大小限制后,会自动生成一个文件来继续记录和重命名--><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--当日志内容超出文件大小限制后,会自动生成一个文件来继续记录,文件按下面格式命名--><fileNamePattern>D:\idea\logs\example-logging-%d{yyyy-MM-dd}-%i.log</fileNamePattern><!--文件最大限制,默认10MB--><maxFileSize>10MB</maxFileSize><!--文件最大保存周期,默认7天--><maxHistory>7</maxHistory><!--所有归档文件总的大小限制--><totalSizeCap>20GB</totalSizeCap></rollingPolicy><!--日志输出格式--><encoder><pattern>${FILE_LOG_PATTERN}</pattern></encoder></springProfile></appender><!--用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性name:用来指定受此logger约束的某一个包或者具体的某一个类。level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,如果未设置此属性,那么当前logger将会继承上级的级别。additivity:是否向上级logger传递打印信息。默认是true。<logger>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger--><logger name="com.cd.example.one" level="trace"/><logger name="com.cd.example.two" level="debug"/><logger name="com.cd.example.three" level="warn"/><!--root节点是必选节点,用来指定最基础的日志输出级别,只有一个level属性。<root>可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger使该指定的appender生效--><root level="info"><appender-ref ref="consoleAppender"/><appender-ref ref="fileAppender"/></root></configuration>


spring boot—自定义logback日志配置相关推荐

  1. 基于Spring Boot的Logback日志轮转配置

    在生产环境下,日志是最好的问题调试和跟踪方法,因此日志的地位是十分重要的.我们平时经常使用的log4j,slf4j,logback等等,他们的配置上大同小异.这里就结合Spring Boot配置一下L ...

  2. spring boot 学习之五(日志配置)

    想直接看这里的我建议先看了我的spring boot 学习之四.因为日志的配置要用到properties. 先了解一下springBoot的日志系统然后再进行配置. springboot默认采用的是s ...

  3. java如何读取自定义log4j2_spring boot自定义log4j2日志文件的实例讲解

    背景:因为从 spring boot 1.4开始的版本就要用log4j2了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8.R ...

  4. Spring Boot——自定义Web配置类后无法访问/static文件夹下静态资源

    问题描述 自定义Web配置类后无法访问 /static文件夹下静态资源. 已加相关依赖包. 官方文档 Spring MVC Auto Configuration Maven <dependenc ...

  5. spring boot中的日志入门

    日志通常不会在需求阶段作为一个功能单独提出来,也不会在产品方案中看到它的细节.但是,这丝毫不影响它在任何一个系统中的重要地位. 报警系统与日志系统的关系 为了保证服务的高可用,发现问题一定要及时,定位 ...

  6. logback redis_使用Spring Boot和Logback登录到Redis

    logback redis 在进行集中式日志记录时,例如使用Elasticsearch,Logstash和Kibana或Graylog2,您可以为Java应用程序提供多个选项. 您既可以编写标准的应用 ...

  7. 使用Spring Boot和Logback登录到Redis

    在进行集中式日志记录时,例如使用Elasticsearch,Logstash和Kibana或Graylog2,您可以为Java应用程序提供几个选项. 您既可以编写标准的应用程序日志,也可以使用Logs ...

  8. 【Spring Boot】Spring Boot Logging 示例 | 日志记录

    文章目录 logging.level | 设置日志级别 logging.file | 指定输出日志文件的路径和名称 logging.path | 指定输出日志文件的路径 logging.pattern ...

  9. Spring Boot 2.0 的配置详解(图文教程)

    本文来自作者 泥瓦匠 @ bysocket.com 在 GitChat 上分享 「Spring Boot 2.0 的配置详解(图文教程)」 编辑 | 哈比 Spring Boot 配置,包括自动配置和 ...

最新文章

  1. 第59件事 运营驱动产品调优案例
  2. 线上内核_线上研讨会 |了解图书馆转型动态,建设智慧图书馆
  3. java快递柜系统开发_他专注智能柜系统开发,产品日使用频次达60万次,服务近400厂家...
  4. Mybaitis JdbcType 和javaType
  5. 计算机二级的编程题,计算机二级编程题(范文).doc
  6. PyQt 5.4参考指南 ---- PyQt5和PyQt4之间的差异
  7. 下一步目标:整理出1套相对成熟的ios 开发框架
  8. mysql建表时创建索引语句_创建表的时候创建索引
  9. ASP输出生成Word 、Excel、Txt文件的方法
  10. 对华为GPU Turbo实现的猜测
  11. Apache Ant 安装教程
  12. jenkins 下载插件失败 有效的处理办法(亲测)
  13. 【转载】Linux查看日志
  14. 机器学习——PCA(主成分分析)与人脸识别
  15. 说一说设备综合效率OEE
  16. 本人GitHub网址https://github.com/LH34128
  17. wait和notify方法
  18. 算数操作符与移位操作符
  19. 转载:徐家骏:我在华为工作十年的感悟
  20. 经典数字图像处理素材库

热门文章

  1. 最短路(hdu4725)(建点巧妙)
  2. charles的一些使用
  3. BZOJ5243 : [Lydsy2017省队十连测]绝版题
  4. CDI services--Decorators(装饰器)
  5. 《Java多线程编程核心技术》读后感(十四)
  6. 编程一小时 code.org [六一关注]
  7. Fragment生命周期及其使用
  8. java基础-java语言中的关键字总结
  9. there is no permission with id `12`
  10. insertion-sort-list——链表、插入排序、链表插入