解决方案 »

  1.   

    可能需要你对dao层做一个aop或者通过自己对dao写个代理来处理,对insert和update方法调用之前传入的实体bean和执行之后返回的实体bean写入日志。
      

  2.   

    我看了您这篇文章,请问这么做如果换中间件后如何解决?还有这篇文章只是将log4j配置在tomcat下,并没有任何关于业务的内容
      

  3.   

    这个办法我知道,但是我希望日志在controller层控制,因为不是所有的业务都要交互数据库,我想要记业务日志,而不是偏向于操作日志。
      

  4.   

    针对你的要求,你需要在数据库日志中写入数据实体对象,那么控制层你如何得到你的数据模型呢?这个不太现实,你至少也是要在service这一层来做吧。但是如果放到service来处理,那么可能在你的service里面还有对传入的对象做处理的逻辑呢,这种如何处理?这些都是问题。所以你应该根据你的需要把日志进行分类。一种是业务日志,记录操作了那些业务。一种是操作日志,操作了那些数据。这样可能会更好
      

  5.   

    目前,我也在研究这块,我觉得,放在control、service和dao都可以,其实,只有2点,一是拦截器还是过滤器,亦或网上有人说用spring secrity配置,二是,拿到需要操作的业务对象或参数,进行数据持久化记录日志
      

  6.   

    对于业务日志来说,可以使用log4j记录下日志,或者可以使用注解自定义注解的方式来记录每个action的业务。然后通过反射的方式获取相应的信息并记录。对于数据操作日志那么可以使用aop或者自己写代理类的方式来对数据的操作作记录
      

  7.   

    我现在在尝试,所有的方法命名统一前缀,比如:save***,update***,delete***,find***,前缀匹配上就拦截,然后,通过request获取参数,正在测试中,希望,可以一起沟通交流,一起研究
      

  8.   


    能否提供一个解决思路?对于您说的“或者可以使用注解自定义注解的方式来记录每个action的业务。然后通过反射的方式获取相应的信息并记录。”,想不到更好的方法
      

  9.   

    学了两周之后,发现用spring aop貌似能够部分解决你说的问题。但是如果想要“自动化”,应该是不行。