大家好我是java和JSF的新手,我的老板要我自动记录用JSF制作的Web应用程序中的每个事件或方法调用
请帮助
答案 0 :(得分:1)
你正在寻找单一用例,而我在处理多个案例的过程中,尤其是为了减少我最新项目的源代码......我发现了面向方面编程形式的光辉东西 - > Java世界中的AspectJ。
你可以在这里找到非常好的文章: http://www.yegor256.com/2014/06/01/aop-aspectj-java-method-logging.html
您可以使用自定义注释实现该行为,或者只是将其硬链接到您的应用程序中,因此您无需在代码中指定任何内容,并且每个事件都将使用特定行为进行自动操作(使用/不使用数据等进行日志记录) )。
这样做的另一个非常好的例子是: http://www.baeldung.com/spring-performance-logging
只需添加,与记录事件相同,您可以在出现错误处理程序时创建AspectJ自动日志记录。
不仅如此,您还可以通过在错误/事件处理程序中编写简单的代码行,以统一的方式在整个应用程序中以完全通用的方式处理所有错误...
注意:不要重新发明轮子,所以请看其他人收集有用的AOP,以便在您的项目中重复使用:-))开源是一个很好的社区: https://github.com/jcabi/jcabi-aspects
答案 1 :(得分:0)
如果您的managedbeans是CDI,您可以使用拦截器。在这里查看Interceptor的官方教程https://docs.oracle.com/javaee/7/tutorial/cdi-adv006.htm
拦截器可以拦截CDI中的每个方法调用,你可以在拦截器方法中连接你的日志代码。