本人初用SSH做一个HR管理系统,要对当前系统做完整日志记录,记录要求如下:
    登录退出时间,IP地址,页面点击过的哪些链接,对数据库进行的增删改进行记录,并且要记录它操作过的哪条数据条记录;
    请问数据库表应该怎么建?及怎么获取用户的操作对象?
请各位前辈给点经验!谢谢!系统日志SSH

解决方案 »

  1.   

    给你一个思路吧,你可以用SpringAop实现对Service的声明式事务管理,从而知道用户的操作。
    <!-- 利用AOP,实现对Service的声明式事务管理 -->
    <tx:advice id="txAdvice" transaction-manager="basicTransactionManager">
    <tx:attributes>
    <tx:method name="get*" read-only="true" />
    <!-- 删除,更新,添加事务配置 -->
    <tx:method name="delete*" propagation="REQUIRED" isolation="READ_COMMITTED"
    timeout="-1" read-only="false" />
    <tx:method name="update*" propagation="REQUIRED" isolation="READ_COMMITTED"
    timeout="-1" read-only="false" />
    <tx:method name="add*" propagation="REQUIRED" isolation="READ_COMMITTED"
    timeout="-1" read-only="false" />
    <!-- 其他默认 -->
    <tx:method name="*" />
    </tx:attributes>
    </tx:advice>
      

  2.   

    给客户看的,对数据库的操作,我回在后台进行判断转换为客户看到的简单信息:如某用户在页面点击了天津雇员并且后台成功执行了AddEmp方法;则在日志里记录:某某在xx时间登录,角色是管理员,操作过Emp添加,添加了一个Emp,及添加的详细资料!
      

  3.   

    搞个AOP 拦截一下,或者用session listener,你的日志业务性强,必须做很多
      

  4.   

    做页面显示你的页面得多大?放几天的信息?建议还是LOGGRE随着方法进行记录,然后写入EXCEL里吧。客户要看操作的话直接去拿文件就行。
      

  5.   

    用log4j.
    首先项目上要有这个包。
    然后log4j的配置文件,然后每个你要求记录的方法里用log对象打印。记录下来生成文件或存入数据库在某个模块读取都可以。
      

  6.   

    建一张表:id,用户(谁在操作),时间(记录操作时间),动作(执行了什么操作保存or删除)。差不多了
    然后,写一个过滤器,在过滤器中来记录日志。
    比如用户A插入一条记录。你就可以在过滤器中记录下来A在什么时候插入一条记录,还可以记录插入数据的参数等等。慢慢想,慢慢完善!
      

  7.   

    用log4j,这个还是挺强大的,里面可以设置操作日志的存放目录以及日志文件大小与格式,记录操作动作。
      

  8.   

    用spring aop来做日志,http://pandonix.iteye.com/blog/336873