[英]How to create custom java annotation to log method parameters
我正在编写JavaEE应用程序,我想使用和创建自定义注释,它将在调用带注释的方法时记录数据。 我想要做的是,当调用带注释的方法时,代码遍历所有传递的方法参数并写入标准输出参数键和值。
一些例子:
public class Test {
@LogMethodData
public int sum(int first, int second) {
return first + second;
}
}
我想实现,当一个自定义元文件将用@LogMethodData注释时,后面的代码将注意并将传递的方法参数记录到标准输出(如果参数优先,则类似“方法数据:第一 - 4,第二 - 5”)包含值4,参数second包含值5),与方法传递的参数数量无关。
如果有人可以帮助我,我会很高兴,因为我一直在寻找解决方案,但我没有找到任何有用的东西。 最后,我不熟悉这些事情。
此致,Dahakka
有没有需要定义自己的注解,你可以使用@Interceptors
注释在EE容器按如下说明 。
@Interceptors(LoggingInterceptor.class)
在Interceptor中,您将获得包含您的Parameters的Context
public class LoggingInterceptor {
...
@AroundInvoke
public Object modifyGreeting(InvocationContext ctx) throws Exception {
....
Object[] parameters = ctx.getParameters();
try {
return ctx.proceed();
} catch (Exception e) {
logger.warning("Error calling ctx.proceed in modifyGreeting()");
return null;
}
}
}
另一个例子: 这里
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.