须知少年凌云志,曾许人间第一流。这篇文章主要讲述SpringBoot和@Aspect实现自建Log日志功能相关的知识,希望能为你提供帮助。
主页:??写程序的小王叔叔的博客??欢迎来访一、效果【SpringBoot和@Aspect实现自建Log日志功能】
支持:点赞
文章图片
文章图片
?关注
文章图片
二、技术JDK1.8+
SpringBoot2.0+ 、@Aspect注解
mysql5.6+
三、代码干货Log实体对象类.java
package *****.***.***.modules.sys.log.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import org.springframework.stereotype.Component;
import io.swagger.annotations.ApiModelProperty;
@Entity
@Table(name = "sys_log")
@Component
@org.hibernate.annotations.Table(comment="系统日志信息", appliesTo = "sys_log")
public class SysLog implements Serializable
private static final long serialVersionUID = 42L;
@Id
@ApiModelProperty("主键")
@Column(name="id",nullable = false,columnDefinition = "bigint(64)comment 主键")
private Long id; // 主键Id
@ApiModelProperty("日志编号")
@Column(name="log_id",columnDefinition = "varchar(255)comment 日志编号" )
private String logId; //日志编号
@ApiModelProperty("请求链接")
@Column(name="url",columnDefinition = "textcomment 请求链接" )
private String url; //请求链接
@ApiModelProperty("请求方法")
@Column(name="method",columnDefinition = "textcomment 请求方法" )
private String method; //请求方法
@ApiModelProperty("请求类名")
@Column(name="class_name",columnDefinition = "textcomment 请求类名" )
private String className; //请求方法
@ApiModelProperty("请求方法名")
@Column(name="method_name",columnDefinition = "textcomment 请求方法名" )
private String methodName; //请求方法
@ApiModelProperty("请求参数")
@Column(name="params",columnDefinition = "textcomment 请求参数" )
private String params; //请求参数
@ApiModelProperty("日志类型:(1:系统日志2:业务日志)")
@Column(name="lot_type",columnDefinition = "varchar(255)comment 日志类型:(1:系统日志2:业务日志)" )
private String logType; //请求方法
@ApiModelProperty("请求方式:(GET/POST)")
@Column(name="type",columnDefinition = "varchar(255)comment 请求方式(GET/POST)" )
private String type; //请求方法
@ApiModelProperty("请求IP")
@Column(name="IP",columnDefinition = "textcomment 请求IP" )
private String ip; //请求方法
@ApiModelProperty("操作的数据库表")
@Column(name="log_table",columnDefinition = "varchar(255)comment 操作的数据库表" )
private String table; //操作的数据库表
@ApiModelProperty("请求异常")
@Column(name="log_error",columnDefinition = "textcomment 请求异常" )
private String logError; //请求异常
@ApiModelProperty("运行时长")
@Column(name="time",columnDefinition = "varchar(255) comment 运行时长" )
private long time; //
@ApiModelProperty("备注")
@Column(name="log_comment",columnDefinition = "textcomment 备注" )
private String logComment; //备注
@ApiModelProperty("创建人")
@Column(name="create_by" )
private String createBy; //创建人
@ApiModelProperty("创建时间")
@Column(name="create_time")
private Date createTime; //创建时间
//setter()/getter();
四、基本的CRUD
package ****.****.****.modules.sys.log.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.推荐阅读
- 3分钟带你搞懂Vue双向绑定原理及问题剖析
- 路由基础之链路聚合和DHCP全局的地址池的配置
- 使用Rust实现一个Brainfuck解释器
- openGauss多主机主备集群安装及CM体验
- 数据结构 串
- flutter系列之:移动端的手势基础GestureDetector
- [ C语言练习题 5 ] 矩阵转置(将矩阵的行列互换得到的新矩阵)
- element-ui(el-table合并单元格后的行高亮显示)
- IDEA+Maven使用MyBatis实现CRUD操作