弹簧引导整合logback一个简单的日志集成架构

  

<强>一、业务需求

  

在项目开发和运维过程中需要通过日志来分析问题,解决问题以保证项目的正常运行。通过SpringBoot自带的日志管理相对比较简单,已无法满足日常的运维需求,需要对日志文件进行分时分类管理,刚好通过学习接触到了logback日志系统。因此便决定将其加入到项目框架之中。

  

<强>二,logback简介

  

至于简介,可自行网上查阅相关文档文献,这里不做详细描述,毕竟不是本文主要目的。只需理解它很好的实现了slf4j,是log4j的再发展即可。

  

<强>三,具体实施方案(仅供参考)

  

<强> 1,引入依赖包

  

其实不需要引入任何依赖,弹簧引导都为我们做好了(不得不感叹技术的强大与发展之快,不管是好是坏,可以很好的提高开发效率)。

  

<强> 2,配置文件

  

特别说明:这里logback。xml不是在默认的src/main/资源目录下因此需要在应用程序中。属性里配置路径,由于项目是通过春云配置管理的配置文件,但是配置内容都一样,只需在配置文件中加入以下配置即可:

        logging.config=类路径:日志/logback.xml      

<强> 2.1属性文件

  

\ src \主要资源\ \日志\ logback.properties

  

说明:定义日志输出位置,文件大小,保存时间和日志级别。

  

此文件也可通过春云配置管理,这里不做详细说明了,解题思路可以参看《Servlet + MyBatis项目转春云微服务,多数据源配置修改建议》https://www.jb51.net/article/154043.htm

        logback.path=?   logback.maxFileSize=50 mb   logback.maxHistory=30   logback.level=INFO      

<强> 2.2 xml文件

  

\ src \主要资源\ \日志\ logback.xml

  

说明:可看文件中注释,根据需求做相应调整。

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; !——日志级别从低到高分为跟踪& lt;调试& lt;信息& lt;警告& lt;错误& lt;致命的,如果设置为警告,则低于警告的信息都不会输出——比;   & lt; !——扫描:当此属性设置为真时,配置文件如果发生改变,将会被重新加载,默认值为真,比;   & lt; !——scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当扫描为真时,此属性生效。默认的时间间隔为1分钟。——比;   & lt; !——调试:当此属性设置为真时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为假的。——比;   & lt;配置扫描=" true " scanPeriod=?0秒”比;   日志/logback & lt;财产资源="。属性”/比;   & lt; !——输出到控制台——比;   & lt; appender name=翱刂铺ā眂lass=癱h.qos.logback.core.ConsoleAppender”比;   & lt; !——此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息——比;   & lt;过滤器类=癱h.qos.logback.classic.filter.ThresholdFilter”比;   & lt; level> info   & lt;/filter>   & lt; encoder>   & lt; !——格式化输出:% d表示日期,%线程表示线程名,% 5级:级别从左显示5个字符宽度,%:行号,%味精:日志消息,% n是换行符——比;   & lt; pattern> % d {yyyy-MM-dd HH: mm: ss。SSS}[%线程]% 5水平[%记录器{50}]- %味精% n   & lt; !——设置字符集——比;   & lt; charset> UTF-8   & lt;/encoder>   & lt;/appender>   & lt; !——输出到文件——比;   & lt; !——时间滚动输出水平为$ {logback。水平}日志——比;   & lt; appender name=氨曜际涑觥眂lass=癱h.qos.logback.core.rolling.RollingFileAppender”比;   & lt; !——正在记录的日志文件的路径及文件名——比;   & lt; file> $ {logback.path}/{logback.level} .log<美元log_;/file>   & lt; !——日志文件输出格式——比;   & lt; encoder>   & lt; pattern> % d {yyyy-MM-dd HH: mm: ss。SSS}[%线程]% 5水平[%记录器{50}]- %味精% n   & lt; charset> UTF-8& lt; !——设置字符集——比;   & lt;/encoder>   & lt; !——日志记录器的滚动策略,按日期,按大小记录——比;   & lt; rollingPolicy类=癱h.qos.logback.core.rolling.TimeBasedRollingPolicy”比;   & lt; !——日志归档——比;   & lt; fileNamePattern> $ {logback.path}/$ {logback.level}/日志- $ {logback.level} % d {yyyy-MM-dd}。% i.log   & lt; timeBasedFileNamingAndTriggeringPolicy类=癱h.qos.logback.core.rolling.SizeAndTimeBasedFNATP”比;   & lt; maxFileSize> $ {logback.maxFileSize} & lt;/maxFileSize>   & lt;/timeBasedFileNamingAndTriggeringPolicy>   & lt; !——日志文件保留天数——比;   & lt; maxHistory> $ {logback.maxHistory} & lt;/maxHistory>   & lt;/rollingPolicy>   & lt; !——此日志文件只记录$ {logback。水平}级别的——比;   & lt;过滤器类=癱h.qos.logback.classic.filter.LevelFilter”比;   & lt; level> $ {logback.level} & lt;/level>   & lt; onMatch> ACCEPT

弹簧引导整合logback一个简单的日志集成架构