SpringBoot进阶之日志集成(logback)前言 大家好,一直以来我都本着用最通俗的话理解核心的知识点,我认为所有的难点都离不开基础知识的铺垫适合人群学完Java基础想通过Java快速构建web应用程序想学习或了解SpringBoot 大佬可以绕过背景 如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了Springboot基础部分,对基本的使用有了初步的认识,接下来的几期内容将会带大家进阶使用,会先讲解基础中间件的使用和一些场景的应用,或许这些技术你听说过,没看过也没关系,我会带大家一步一步的入门,耐心看完你一定会有收获情景回顾 上期带大家学习了什么是跨域以及Springboot中如何处理它,本期将带大家学习SpringBoot中如何集成日志工具,同样的,我们集成到Springboot中。最近github可能会被墙,所以我把源码放到了国内gitee上,本节我们依然使用上期的代码往期内容我的博客Springboot入门Springboot基础(一)Springboot基础(二)Springboot基础(三)Springboot基础(四)Springboot基础(五)SpringBoot进阶之缓存中间件RedisSpringBoot进阶之MyBatis分页插件SpringBoot进阶之跨域问题处理(CORS)项目源码(持续更新)springbootall环境搭建 本期没有太多的理论,大家跟着配就好了,添加配置resourceslogbackspring。?xmlversion1。0encodingUTF8?!DOCTYPEconfigurationconfigurationincluderesourceorgspringframeworkbootlogginglogbackdefaults。xmlincluderesourceorgspringframeworkbootlogginglogbackconsoleappender。xml!应用名称propertynameAPPNAMEvalueapp!日志文件保存路径propertynameLOGFILEPATHvalue。logscontextName{APPNAME}contextName!每天记录日志到文件appenderrollingPolicyclassch。qos。logback。core。rolling。TimeBasedRollingPolicyfileNamePattern{LOGFILEPATH}{APPNAME}d{yyyyMMdd}。logfileNamePatternmaxHistory30maxHistoryrollingPolicyencoderpattern{FILELOGPATTERN}patternencoderappenderrootlevelINFOrootconfiguration 配置好后,我们运行项目,会发现跟目录多了一个logs的目录,那个就是日志文件,跟控制台产生的日志一样,被记录到文件里了。然后教大家怎么去打日志:RestControllerRequestMapping(v1)publicclassHelloController{privatestaticfinalLoggerloggerLoggerFactory。getLogger(HelloController。class);RequestMapping(hello)publicStringhello(){logger。info(hello);returnHelloWorld!}} 请求后发现控制台有打印,并且文件有记录,那么就成功了依次类推,在你觉得需要记录的位置,进行日志记录就可以了,比如一些报错的地方或者一些关键点的地方配置sql记录 有时候,我们需要查看sql怎么执行的,但控制台啥输出没有可不行,下面教大家配一下:mybatis:mapperlocations:classpath:mapper。xmlconfiguration:cacheenabled:truelogimpl:org。apache。ibatis。logging。stdout。StdOutImpl 配置好后,执行一下查询请求,会发现控制台有详细的sqllog包括入参的值结束语 本期就到这里结束了,总结一下,主要教大家如何在项目中配置log,因为我们的服务是跑在服务器上的,具体发生了啥,我们不知道,只能依赖log,所以还是比较重要的下期预告 有时候,我们需要了解一个请求发生了啥,通常会在控制器里各种log打印,这样对代码维护不是很友好,下期教大家如何利用aop去全局拦截我们的请求,并对它做解析,记录请求的各种信息,并计入日志,方便我们去定位问题。关注我,不迷路,下期见