Spring AOP实现全局日志记录

本文介绍了如何利用Spring AOP在Java开发中实现全局日志记录,将每次请求信息保存到数据库,以便在出现问题时追踪用户操作。虽然适用于内部软件,但对外项目推荐使用日志文件。文章提供了获取用户IP的工具类和接口调用示例,但数据库相关代码已省略。总结部分提到这是一个快速实现,可能存在不足,欢迎读者交流补充。
摘要由CSDN通过智能技术生成

Spring AOP实现全局日志记录

一 前言:
在java开发中日志的管理有很多种, 在这里推荐Spring 的Aop思想将每一次请求记录 ,并且保存到数据库表中。 通常情况下,我们将项目部署到服务器后,如果接口出现了bug,那么我们就可以通过查看数据库表中记录的信息来判断这次请求是哪个用户操作的 在公司内部办公软件可以很好的使用,但是对外的项目建议使用日志几率到文件中更加符合业务场景。

二、代码详情:
ps: 涉及公司隐私信息 添加数据库代码(被修改)就不对外暴露啦 谢谢大家

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;

/**
 * @author zhu
 * @date 2021/11/20:30
 * 统一日志处理
 * TODO 使用Aop记录每一个请求
 */
@Aspect
@Component
public class HttpAspect {
   
    @Autowired
    private LogInfoMapper logInfoMapper;
    private static final Logger LOGGER = LoggerFactory.getLogger(HttpAspect.cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值