可以引入aspectj,然后写一个execution代理所有的类中的所有方法,打印出调用位置/调用栈之类你需要的内容就行了. 比如我这样写就可以打印出所有方法的 类+方法名+参数 @Around("execution(* com.a.b.c..*.*(..))") public void pointCutAround(ProceedingJoinPoint joinPoint) { StringBuffer sb = new StringBuffer(); sb.append("(" + joinPoint.getSourceLocation() + ")"); sb.append(joinPoint.getSignature().getName() + "()"); sb.append(",this=" + joinPoint.getThis()); for (Object arg : joinPoint.getArgs()) { sb.append(",arg = " + arg); } LogUtil.e(sb.toString()); try { joinPoint.proceed(joinPoint.getArgs()); } catch (Throwable throwable) { throwable.printStackTrace(); } }
你这个问题有点厉害,我不知道怎么做到你的要求。我很好奇你是处于什么工作内容会有这样的诉求。
我想不到什么情形下有这样的需求
80,337
社区成员
91,284
社区内容
加载中
试试用AI创作助手写篇文章吧