弹簧引导Logback配置日志过程解析

  

这篇文章主要介绍了弹簧引导Logback配置日志过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

出于性能等原因,Logback目前是springboot应用日志的标配,当然有时候在生产环境中也会考虑和三方中间件采用统一处理方式。

  

<>强配置时考虑点
  

  
      <李>支持日志路径,日志水平等配置李   <李>日志控制配置通过application.yml下发   <李>按天生成日志,当天的日志祝辞50 mb回滚李   <李>最多保存10天日志李   <李>生成的日志中模式自定义李   <李>模式中添加用户自定义的MDC字段,比如用户信息(当前日志是由哪个用户的请求产生),请求信息。此种方式可以通过AOP切面控制,在争取民主变革运动中添加requestID,在spring-logback.xml中配置模式。   <李>根据不同的运行环境设置概要- dev,测试,产品   <李>对控制台,犯错和全量日志分别配置李   <李>对第三方包路径日志控制李   
  

<>强实现范例
  

  

如下两个例子基本包含了上述的考虑点:

  

<强>综合范例
  

  

应用程序。yml
  

        日志:   水平:   根:调试   路径:C:/数据/日志/springboot-logback-demo   服务器:   端口:8080   春天:   应用程序:   名称:springboot-logback-demo   调试:假      

Spring-logback。xml
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; configuration>      & lt; !——日志根目录——比;   & lt; springProperty范围="背景" name==来源“LOG_HOME日志记录。路径“defaultValue=" https://www.yisu.com/data/logs/springboot-logback-demo "/比;      & lt; !——日志级别——比;   & lt; springProperty范围="背景" name=癓OG_ROOT_LEVEL”=發ogging.level来源。根“defaultValue=" https://www.yisu.com/zixun/DEBUG "/比;      & lt; !——标识这个“标准输出”将会添加到这个记录器——比;   & lt; springProperty范围="背景" name==来源“STDOUT日志。stdout“defaultValue=" https://www.yisu.com/zixun/STDOUT "/比;      & lt; !——日志文件名称——比;   & lt;属性名=" LOG_PREFIX " value=" https://www.yisu.com/zixun/spring-boot-logback "/比;      & lt; !——日志文件编码——比;   & lt;属性名=" LOG_CHARSET " value=" https://www.yisu.com/zixun/UTF-8 "/比;      & lt; !——日志文件路径+日期——比;   & lt;属性名=" LOG_DIR " value=" https://www.yisu.com/zixun/$ {LOG_HOME}/% d{名称}"/比;      & lt; !——对日志进行格式化——比;   & lt;属性名=" LOG_MSG " value=" https://www.yisu.com/zixun/- | (X % {requestUUID}) | (% d{名称HH: mm: ss。SSS}] |[%的水平)|(${主机名}]|(%线程)|(%记录器{36})| - -> %味精| % n”/比;      & lt; !——文件大小,默认10 mb——比;   & lt;属性名=" MAX_FILE_SIZE " value=" https://www.yisu.com/zixun/50MB "/比;      & lt; !——配置日志的滚动时间,表示只保留最近10天的日志——比;   & lt;属性名=" MAX_HISTORY " value=" https://www.yisu.com/zixun/10 "/比;      & lt; !——输出到控制台——比;   & lt; appender name=氨曜际涑觥眂lass=癱h.qos.logback.core.ConsoleAppender”比;   & lt; !——输出的日志内容格式化——比;   & lt;布局类=癱h.qos.logback.classic.PatternLayout”比;   & lt; pattern> $ {LOG_MSG} & lt;/pattern>   & lt;/layout>   & lt;/appender>      & lt; !——输出到文件——比;   & lt; appender name=" 0 "类=癱h.qos.logback.core.rolling.RollingFileAppender”比;   & lt;/appender>      & lt; !——定义所有日志的输出方式:——比;   & lt; appender name=癋ILE_ALL”class=癱h.qos.logback.core.rolling.RollingFileAppender”比;   & lt; !——日志文件路径,日志文件名称——比;   & lt; File> $ {LOG_HOME}/{LOG_PREFIX} .log<美元all_;/File>      & lt; !——设置滚动策略,当天的日志大小超过$ {MAX_FILE_SIZE}文件大小时候,新的内容写入新的文件,默认10 mb——比;   & lt; rollingPolicy类=癱h.qos.logback.core.rolling.TimeBasedRollingPolicy”比;      & lt; !——日志文件路径,新的所有日志文件名称,“我”是个变量——比;   & lt; FileNamePattern> $ {LOG_DIR}/all_ $ {LOG_PREFIX} % i.log      & lt; !——配置日志的滚动时间,表示只保留最近10天的日志——比;   & lt; MaxHistory> $ {MAX_HISTORY} & lt;/MaxHistory>      & lt; !——当天的日志大小超过$ {MAX_FILE_SIZE}文件大小时候,新的内容写入新的文件,默认10 mb——比;   & lt; timeBasedFileNamingAndTriggeringPolicy类=癱h.qos.logback.core.rolling.SizeAndTimeBasedFNATP”比;   & lt; maxFileSize> $ {MAX_FILE_SIZE} & lt;/maxFileSize>   & lt;/timeBasedFileNamingAndTriggeringPolicy>      & lt;/rollingPolicy>      & lt; !——输出的日志内容格式化——比;   & lt;布局类=癱h.qos.logback.classic.PatternLayout”比;   & lt; pattern> $ {LOG_MSG} & lt;/pattern>   & lt;/layout>   & lt;/appender>      & lt; !——定义错误日志的输出方式:——比;   & lt; appender name=癋ILE_ERROR”class=癱h.qos.logback.core.rolling.RollingFileAppender”比;   & lt; !——下面为配置只输出错误级别的日志——比;   & lt;过滤器类=癱h.qos.logback.classic.filter.LevelFilter”比;   & lt; level> ERROR

弹簧引导Logback配置日志过程解析