代码之家  ›  专栏  ›  技术社区  ›  Adi Sembiring

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

  •  1
  • Adi Sembiring  · 技术社区  · 14 年前

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

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

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

    编辑: 我使用Struts 1.x

    1 回复  |  直到 12 年前
        1
  •  1
  •   Barakat    14 年前

    你可以用 Aspect Oriented Programming aspectj 看起来像这样:

     public aspect Logger {
    
        pointcut writeActions():
            execution (* *.perform*(..));
    
        void before(): writeActions(){
            // log the action 
        }
    
    }
    

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