MyCat - 日志模块 - 微服务搭建 | 学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 快速学习 MyCat - 日志模块 - 微服务搭建

开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat - 日志模块 - 微服务搭建】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/758/detail/13321


MyCat - 日志模块 - 微服务搭建

内容介绍:

一、基本介绍

二、搭建日志的微服务

 

一、基本介绍

1.表结构:

tb_operatelog

打开表结构的定义:

image.png

该表记录了用户在哪个时间点操作的哪一个类,操作了类中的哪一个方法,操作该方法时传递的参数名称是什么,请求参数的值是什么以及执行该方法时的耗时及返回值类型和返回值都可以记录。

所以该表记录的是用户操作后台系统或者操作系统的详细日志都可以记录

该表有一大特点:

当前 id 组件不是自增的

image.png

2.需求

(1)记录日志

(2)查询日志

3.记录日志的流程

前端系统请求后端的微服务,前端系统要在前端界面对业务数据进行增删改查等相关操作。

在进行增删改查时要调用微服务中提供的接口,这时可以在微服务中通过 AOP 去拦截微服务中的类及类中的方法。

拦截到该类及类中的方法后,如果有用户请求该类及类中的方法则可以成功拦截并且可以组装相关的日志数据。

组装日志数据后,可以通过 Feign 调用日志微服务,然后将该日志信息记录到微服务中。

image.png

(所以日志微服务需要做的事就是记录日志和查询日志)

 

二、搭建日志的微服务

1.创建一个 Module,模块名称为 v_service_log

image.png

当前工程搭建完毕:

image.png

2.引入依赖

(直接从配置文件中拷贝)

客户端依赖:

image.png

mybatis 的依赖:

image.png

MySQL 数据库驱动:

image.png

还配置 mybatis de 分页插件、veb 起步依赖、fastJson 依赖和 Feign 依赖(远程调用)。

3.在该工程的 resource 下创建 application.yml 配置文件:

image.png

发现创建出的工程有问题:

image.png

需要将该工程重新加入:

image.png

目录属性正常:

image.png

4.在 application.yml 中引入对应的配置:

image.png

5.配置完成后,定义一个引导类:

image.png

在该引导类下注解:

@SpringBootApplication

//在下面的注解后需要指定包扫描的位置

@MapperScan(basePackages = " cn .itcast. log.mapper")

然后再声明一个 run 方法:

SpringApplication. run(LogApplication.class, args);

完整代码为:

import org.mybatis.spring.annotation.Mapperscan;

import org.springframework.boot.springApplication;

import org.springframework.boot.autoconfigure.springBootApplication;

@SpringBootApplication

@MapperScan(basePackages = " cn .itcast. log.mapper")

public class LogApplication {

public static void main (string [ ] args){

springapplication.run(LogApplication.class ,args) ;

}

}

6.创建对应的包结构:

image.png

到此,日志的基础结构已经搭建完成。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5月前
|
SQL 数据库 微服务
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
微服务03,最简单的Demo,我们每个服务不能重复开发相同业务,微服务数据独立,不要访问其他微服务的数据库,微服务的特点之一是提供不能功能的数据库互相分割,微服务需要根据业务模块拆分,做到单一职责,
|
28天前
|
消息中间件 存储 监控
微服务日志监控的挑战及应对方案
【10月更文挑战第23天】微服务化带来模块独立与快速扩展,但也使得日志监控复杂。日志作用包括业务记录、异常追踪和性能定位。
|
3月前
|
Prometheus Cloud Native Go
Golang语言之Prometheus的日志模块使用案例
这篇文章是关于如何在Golang语言项目中使用Prometheus的日志模块的案例,包括源代码编写、编译和测试步骤。
58 3
Golang语言之Prometheus的日志模块使用案例
|
3月前
|
Shell Python
salt自定义模块内使用日志例子
salt自定义模块内使用日志例子
logging 日志 模块
logging 日志 模块
|
4月前
|
Go 开发者
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
|
4月前
|
数据挖掘 语音技术
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
|
4月前
|
Java Maven 数据库
一文教会你如何进行Rest微服务构建 案例工程模块。教会你如何创建父子工程
这篇文章介绍了如何在微服务架构中创建父子工程模块,并通过RESTful服务的方式构建微服务通用案例,包括服务提供者和消费者的基本实现,以及数据库的创建和测试服务的步骤。
一文教会你如何进行Rest微服务构建 案例工程模块。教会你如何创建父子工程
|
4月前
|
存储 监控 Java
|
4月前
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块