我想做个系统实现日志 用ssh我想实现日志的记录 例如 哪个用户在哪个时间操作了哪些事情 是否成功 如果出错也记录下来 改怎么做 并且记录sql语句比如: admin在2009-12-21 12:12:21调用了UserService的add(User user)方法 sql语句:insert into user values('a','b')操作成功 我知道得用aop 关键是在struts中做还是在hibernate还是在哪做  应该怎么获取上面的那些内容
高手指教 最好给个源码 感谢

解决方案 »

  1.   


    是用log4j但是怎么实现我说的那些功能呢 我要用aop 
      

  2.   

    那你自己得把AOP这方面的知识学一学呀。
      

  3.   


    我会用aop 
    package com.fckeji.sqrm.log;import java.lang.reflect.Method;
    import java.util.Arrays;
    import java.util.Date;import org.springframework.aop.MethodBeforeAdvice;
    import org.springframework.stereotype.Component;@Component("logAdvisor")
    public class LogAdvisor implements MethodBeforeAdvice{ public void before(Method method, Object[] args, Object target)
    throws Throwable {
    System.out.println(method.getName()+"在"+(new Date())+"被调用 参数为"+Arrays.toString(args));
    }}这里获取不到request session 什么的信息等 我只是想了解了解大家是怎么写的
      

  4.   

    推荐用Struts2,AOP做的不错的,用户进行了哪些操作就在action上使用AOP,数据库操作的话运用Spring的AOP很方便的,Hibernate跟Spring整合的时候就已经用到了很多AOP,比如事务的处理等等
      

  5.   

    1.你要aop的意义是什么?
      说白了就是在你请求的方法前,或者后,或者左右,或者返回值后执行的一些增强处理。
      那么你所需要记录的log功能,就是增强处理。我们也叫advice。
      所以我们最终请求的方法会变成一个:
               增强处理
               -------
              请求方法
               -------
              增强处理
      这样的一个代理类。
    2.明白这点之后,我们就需要编写个增强处理类。用于处理log记录功能。
      然后通过配置文件配置一下切入点就行了。建议看下spring的AOP很基础的部分,写个记录log功能应该比较简单
      

  6.   

    这似乎是Java组件相关的东西,正好我刚学了。日志组件,这是我刚上传的代码---->>传送门
    希望对楼主有用
    good luck