如何使用bytebuddy获取功能输入和返回值

时间:2019-03-01 20:08:55

标签: byte-buddy

如何使用字节预算来获取函数的输入并返回值。

我知道我可以使用@ Advice.AllArguments来获取方法的参数,但是我只能获取它们的值以及如何获取参数的类型。

另一个问题是我可以得到函数的返回值。

public class MethodAdvice {

public static Logger logger = LoggerFactory.getLogger(MethodAdvice.class);


@Advice.OnMethodEnter
private static Span before(@Advice.Origin Method method, @Advice.AllArguments Object[] args){
    logger.info(method.toString() + " start to run");

    return TraceManager.methodIntercept(method);
}



@Advice.OnMethodExit
static void exit(@Advice.Origin Method method, @Advice.Enter final Span span) {
    logger.info(method.toString() + " end to run");
    TraceManager.endSpan(span);
}
}

0 个答案:

没有答案