springboot怎么利用@Aspect实现日志工具类
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了springboot怎么利用@Aspect实现日志工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot怎么利用@Aspect实现日志
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
新华互联网科技
美国互联网保险保险科技
厦门中拓互联网络科技有限公司
互联网科技公司税收优惠
高科技与互联网
互联网科技英文
鑫亿盛互联网科技
广州互联网络科技有限公司
融势互联网科技
深圳天众互联网科技公司
湖南洣水互联网科技有限公司扣款
互联网之后的科技是什么
互联网科技的全部知识
科技互联网海报
合肥互联网科技公司公章图片
江苏互联网智能科技软件
南京一网一红互联网科技有限公司
济南小医互联网科技有限公司招聘
互联网领先科技活动
深圳互联网科技园地址
瑰夏咖啡
互联网科技
互联网科技垄断
丰台科技园 互联网
互联网 视角下的科技创新
天扬科技互联网广告
衡水科技产业互联网平台
互联网科技与大数据专业
上海互联网科技公司ppt
宁波跨境商互联网科技有限公司