首页 > 其他分享 >aop日志管理

aop日志管理

时间:2024-09-20 14:45:59浏览次数:6  
标签:lang String 管理 aop request org import 日志 annotation

1.//作用于方法的注解 @AutoLog("删除图书")

import java.lang.annotation.*;

//作用于方法的注解
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AutoLog {
String value() default "";
}

2.日志插入
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.example.entity.Admin;
import com.example.entity.Log;
import com.example.service.LogService;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

/**

  • 处理切面的的“监控”
    */
    @Component
    @Aspect
    public class LogAspect {

    @Resource
    private LogService logService;

    @Around("@annotation(autoLog)")
    public Object doAround(ProceedingJoinPoint joinPoint, AutoLog autoLog) throws Throwable{
    // 操作内容,我们在注解里定义了value
    String name = autoLog.value();
    String time = DateUtil.now();
    // 当前操作人
    String username = "";
    Admin user = JwtTokenUtils.getCurrentUser();
    if (ObjectUtil.isNotEmpty(user)){
    username = user.getName();
    }
    // 操作人ip
    HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    String ip = request.getRemoteAddr();

     Log log = new Log(null, name, time, username, ip);
     logService.add(log);
    
     Result result = (Result) joinPoint.proceed();
    
     return result;
    

    }
    }

标签:lang,String,管理,aop,request,org,import,日志,annotation
From: https://www.cnblogs.com/zhishizongjie/p/18422507

相关文章

  • 智慧安防监控EasyCVR视频汇聚管理平台如何修改视频流分辨率?
    智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中,将前端监控设备进行统一集中接入与汇聚管理。EasyCVR平台支持H.264/H.265视频压缩技术,可在4G/5G/WIFI/宽带等网络环境下,传输720P/1080P/2K/4K高清视频。视频流经平台处理后,能对外分发RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HL......
  • 视频存储EasyCVR视频监控汇聚管理平台设备录像下载报错404是什么原因?
    EasyCVR视频监控汇聚管理平台是一款针对大中型项目设计的跨区域网络化视频监控集中管理平台。该平台不仅具备视频资源管理、设备管理、用户管理、运维管理和安全管理等功能,还支持多种主流标准协议,如GB28181、RTSP/Onvif、RTMP、部标JT808、GA/T1400协议等,以及支持厂家的私有协议......
  • 使用 Secrets Loader 轻松管理 Laravel 和 JS 项目
    跨各种环境管理api密钥、令牌和凭证等敏感数据可能非常棘手,尤其是在开发和部署应用程序时。确保秘密在需要时安全地存储和获取,而不是将它们硬编码到版本控制中,对于维护安全性至关重要。这就是我创建secretsloader的原因,这是一个bash脚本,可以动态地将awsssm和cloudform......
  • 【操作教程】视频监控系统EasyCVR视频汇聚管理平台如何添加用户和角色?
    视频监控平台/视频监控系统EasyCVR视频汇聚管理平台以其强大的拓展性、灵活的部署方式、高性能的视频能力和智能化的分析能力,为各行各业的视频监控需求提供了优秀的解决方案。通过简单的配置和操作,用户可以轻松地进行远程视频监控、存储和查看,满足各种复杂场景下的监控需求。近......
  • 轻量级日志系统Loki搭建与使用
    参考https://blog.csdn.net/wzpny/article/details/139833234官方文档https://grafana.com/docs/loki/latest/Loki简介Loki是GrafanaLabs团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,......
  • (免费源码)spring boot 双端融合的教学过程管理系统小程序66431 计算机毕业设计必看必学
     springboot双端融合的教学过程管理系统小程序摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,双端融合的教学过程管理系统小程序被用户普遍使用,为方便用户能够可以......
  • 优思学院|精益管理和六西格玛之详细比较
    想提升自己,但不知道该学习什么?很多人都有这样的困惑,常常问:“精益管理和六西格玛到底有什么区别?”当然,学习任何知识对我们都有帮助,但学习什么知识对我们的帮助最大?这是我们真正关心的问题。因此,大家需要从工作的需求、升职的要求等方面进行衡量。我们应该学习哪套方法、工具和理......
  • [2025]基于微信小程序停车场预约计费系统(基于微信小程序的智能停车场预约与计费系统、
    博主介绍:  ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生......
  • 【源码文档全套】基于SSM的大学生评优管理系统-JAVA/VUE(开题答辩实训报告论文)
        博主介绍:......
  • nginx: 分析最慢的url(日志中增加请求时长)
    一,设置nginx的日志格式:1,编辑nginx.conf[root@blogconf]#vinginx.conf说明:比默认设置只是在末尾增加了$request_time一项log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"......