springboot怎么利用@Aspect实现日志工具类
发表于:2025-11-19 作者:千家信息网编辑
千家信息网最后更新 2025年11月19日,这篇文章主要介绍了springboot怎么利用@Aspect实现日志工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么利用@Aspect实现日志
千家信息网最后更新 2025年11月19日springboot怎么利用@Aspect实现日志工具类
这篇文章主要介绍了springboot怎么利用@Aspect实现日志工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么利用@Aspect实现日志工具类文章都会有所收获,下面我们一起来看看吧。
一、导包
org.aspectj aspectjrt 1.8.12 org.aspectj aspectjweaver 1.9.4
二、在启动类上进行注解自动扫描
@SpringBootApplication@EnableCaching@EnableAsync@ComponentScan({"com.workorder.*"})public class WorkOrderApplication { public static void main(String[] args) { SpringApplication.run(WorkOrderApplication.class, args); }}三、工具类
@Aspect@Component@Slf4jpublic class LogAspect { @Autowired private Environment env; @Pointcut("execution(public * com.workorder..controller..*.*(..))") public void logPointCut() {} @Around("logPointCut()") public Object around(ProceedingJoinPoint point) throws Throwable { log.info("========================================="); long beginTime = System.currentTimeMillis(); //执行方法 Object result = point.proceed(); //执行时长(毫秒) long time = System.currentTimeMillis() - beginTime; //保存日志 saveSysLog(point, time); return result; } private void saveSysLog(ProceedingJoinPoint joinPoint, long time) { // 接收到请求,记录请求内容 ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); String logStr=""; if (isEnvironment("dev")){ String requestUrl = request.getRequestURL().toString() + "?"; //获取所有参数方法 Enumeration enu=request.getParameterNames(); while(enu.hasMoreElements()){ String paraName = enu.nextElement(); requestUrl+=paraName + "=" + request.getParameter(paraName) + "&"; } logStr+="\r\n请求地址:"+ requestUrl.substring(0,requestUrl.length()-1); } //请求的参数 Object[] args = joinPoint.getArgs(); String params = JSONUtil.toJsonStr(args); logStr+="\r\n请求方式:"+ request.getMethod(); logStr+="\r\n请求方法Token:"+ request.getHeader("token"); logStr+="\r\n请求参数:"+ params; logStr+="\r\nIP:"+ request.getRemoteAddr(); logStr+="\r\n响应时间:"+ time+" ms"; log.info(logStr); /** * 判断当前是什么环境 * @param str * @return */ private boolean isEnvironment(String str) { boolean flag = false; String[] arr = env.getActiveProfiles(); List list = Arrays.asList(arr); if (list.contains(str)) { flag = true; } return flag; }} 四、结果

关于"springboot怎么利用@Aspect实现日志工具类"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"springboot怎么利用@Aspect实现日志工具类"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
工具
日志
内容
参数
方法
知识
篇文章
价值
地址
操作简单
文章
方式
时长
时间
易懂
更多
注解
环境
看吧
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四方光电服务器地址
config改数据库
网络技术人才素质
陕西科技大学互联网
r240服务器声音大
淘宝客软件开发多少钱
金华广括网络技术怎么样
安徽网络技术服务项目
腾讯软件开发公司排名
战地1服务器选哪个好
网络安全威胁的直接原因
网络安全e讲堂视频
湖北互联网软件开发机构
手机怎么更改服务器端口
数据库建立账套失败
数据库数据处理技术
服务器不能读取光驱
数据库怎么弄
四方光电软件开发
幼儿教师手抄报网络安全
浙江服务器设备回收厂家云主机
网络技术人才素质
中国现在有自己的网络服务器么
济宁网络安全公务员
网络安全法治课通讯稿
软件开发越来越吃香吗
服务器端ip
数据库如何查询实时库存
软件开发管理 情况
广州BT软件开发