Jakarta ee 拦截写操作并生成用户日志

Jakarta ee 拦截写操作并生成用户日志,jakarta-ee,struts,servlet-filters,Jakarta Ee,Struts,Servlet Filters,我想在我的web应用程序中记录每个更改域的用户操作。当用户尝试创建、更新、删除某些数据时,操作必须保存在用户日志中。但当用户操作为列表时,生成报告。它不需要记录 我当前的程序,我写服务日志。并将该服务日志调用到每个操作方法(performCreate、performUpdate、performDelete) 有没有办法创建一个类来编写用户日志,拦截所有执行的写操作 编辑: 我使用Struts 1.x,您可以使用,中的一个简单解决方案如下所示: public aspect Logger {

我想在我的web应用程序中记录每个更改域的用户操作。当用户尝试创建、更新、删除某些数据时,操作必须保存在用户日志中。但当用户操作为列表时,生成报告。它不需要记录

我当前的程序,我写服务日志。并将该服务日志调用到每个操作方法(performCreate、performUpdate、performDelete)

有没有办法创建一个类来编写用户日志,拦截所有执行的写操作

编辑: 我使用Struts 1.x,您可以使用,中的一个简单解决方案如下所示:

 public aspect Logger {

    pointcut writeActions():
        execution (* *.perform*(..));

    void before(): writeActions(){
        // log the action 
    }

}
您还可以访问方法参数,获取返回值,并在方法执行之前或之后执行代码

您可以使用,中的简单解决方案如下所示:

 public aspect Logger {

    pointcut writeActions():
        execution (* *.perform*(..));

    void before(): writeActions(){
        // log the action 
    }

}
您还可以访问方法参数,获取返回值,并在方法执行之前或之后执行代码