这篇文章主要介绍了弹簧引导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配置日志过程解析