spring boot开发的日志系统

时间:2022-05-06
本文章向大家介绍spring boot开发的日志系统,主要内容包括请求跟踪管理、SQL日志管理、业务日志管理、API日志管理、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

项目采用技术:springboot,mongodb,freemarker,bootstrap,highcharts等

这个项目还没做完,目前已完成的功能有下面几个:

请求跟踪管理

输入请求编号即可查看这个请求一系列的流程日志,包括业务以及sql日志。

SQL日志管理

业务日志管理

API日志管理

没做完的是首页的图表展示,目前只放了图表控件,用的highcharts,数据还未填充完。

首页这块是对日志的各个维度的统计,以及访问量的实时展现。

像一些api的统计展示如果日志量不大的情况下是可以直接去数据库查询可以实现的,但是如果量大了,建议用跑任务的形式去将结果跑出来,首页这边直接查询统计好的数据展示就可以了,这样体验会好些。

需要注意的是这个系统的数据是放在mongodb里面的,数据格式可以对照里面的实体类填充即可。

现在的查询是基于mongodb的,本来是想做成2套,加上elasticsearch的数据存储方式。

然后在配置文件中配置data.store.type来指定系统的数据读取方式,由于时间的关系,暂时只实现了mongo的。

#数据读取方式(mongo和es)
data.store.type=mongo

启动项目登录的账号默认是cxytiandi和cxytiandi

修改请到com.cxytiandi.log.controller.UserController.login中修改,目前为了简单是写死的。

先到这里吧,后面有时间再把剩下的功能慢慢补上。

关于怎么存储这种数据格式做个说明:

在API这层每次请求要有一个唯一的编号,才能标识整个请求的流程,

sql日志我这边是自己封装了一个orm框架,记日志会方便些,如果没有自己封装可以用切面的方式来统一记录日志。