mys(农民影视)
很高兴又和各位见面啦,这次我想和你们聊聊nmys;精心为你准备的干货,以及农民影视的内容,其实这篇内容对于新手来说还是比较重要的,因为涉及的也比较多,如果你认真看了肯定会有一些收获!
前面介绍了Spring Boot 异常处理,不清楚的朋友可以看看之前的文章。
今天主要讲解Spring Boot中的日志收集,日志是追踪错误定位问题的关键,特别在生产环境中,我们需要通过日志快速定位解决问题。
Springboot的日志的框架比较丰富,而且Springboot本身就内置了日志功能,不过实际项目中会出现只记录想要的日志,日志输出到磁盘,按天归档,日志信息同步到其他系统等功能。这些是Springboot本身就内置了日志功能不具备的。所以我推荐使用logback。下面我们就以logback讲讲Spring Boot中的日志收集。
为什么要统一日志
前面我们说了Springboot 本身就可以日志功能,为什么还需要统一规范日志?
1、日志统一,方便查阅管理。
2、日志分割归档功能。
3、日志持久化功能。
4、方便日志系统(ELK)收集。
配置
在resource下创建logback-spring.xml文件,以下直接贴出配置信息,介绍信息可以直接参考备注
注意
日志的环境即spring.profiles.acticve,跟随项目启动。
启动后,即可到自定目录查找到生成的日志文件。
官方推荐使用的xml名字的格式为logback-spring.xml而不是logback.xml。
配置application.properties
在application.properties配置logback
收集异常日志
上一篇文章已经讲过统一异常处理,请看这篇文章《SpringBoot入门系列(十一)统一异常处理的实现》。
修改统一异常处理器GlobalExceptionHandler类,将异常方法中的直接打印改为日志输入并打印
程序中记录日志
在com.weiz.controller 中创建LoggingController 控制器
测试
启动项目,在浏览器输入http://localhost:8080/log/write ,去相关目录下查看日志文件
异常日志
以上,就把Spring Boot集成logback进行统一日志收集介绍完了。还是比较简单的,还有其他实际应用场景中的相关需求如日志压缩,同步kafka等,大家自己去研究吧。
这个系列课程的完整源码也会提供给大家。大家关注我的头条号(架构师精进),获取这个系列课程的完整源码。
推荐阅读
SpringBoot入门系列(十一)实现统一异常处理,就这么简单!
Spring Boot整合定时任务Task,一秒搞定定时任务
Spring Boot入门系列(十)如何使用拦截器,一学就会!
SpringBoot入门系列(四)如何整合Thymeleaf模板引擎
Spring Boot集成Redis代码详解,三步搞定!
SpringBoot入门系列(三)资源文件属性配置
Spring Boot入门系列(六)Spring整合Mybatis详解「附详细步骤」