SpringBoot和@Aspect实现自建Log日志功能

须知少年凌云志,曾许人间第一流。这篇文章主要讲述SpringBoot和@Aspect实现自建Log日志功能相关的知识,希望能为你提供帮助。

主页:??写程序的小王叔叔的博客??欢迎来访
支持:点赞
SpringBoot和@Aspect实现自建Log日志功能

文章图片
SpringBoot和@Aspect实现自建Log日志功能

文章图片
?关注
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.

    推荐阅读