@wenshao 你好,想跟你请教个问题:
目前手头一个很老的项目想使用druid,已经配置了DruidWebStatFilter,每个url执行的sql也可以看到,session监控中也可以看到sessionid和对应的用户名。
请问有什么办法让session和对应sql关联起来显示呢?想实现对应的用户访问了哪些url和具体执行sql。
请问能做到不同用户区分显示么
@wenshao 你好,想跟你请教个问题:
目前手头一个很老的项目想使用druid,已经配置了DruidWebStatFilter,每个url执行的sql也可以看到,session监控中也可以看到sessionid和对应的用户名。
请问有什么办法让session和对应sql关联起来显示呢?想实现对应的用户访问了哪些url和具体执行sql。
请问能做到不同用户区分显示么
1.登陆用户访问了哪些URL,不需要druid,mvc的拦截器就能完成。
2.有些sql没有挂上用户id,不知道算不算该用户执行了该条sql;如果算的话,那就简单了,进入controller拿得到用户id,mvc的拦截器在 处理器执行完后会有回调,daoimpl的sql你事先是知道的,这样就可以统计出来了。
继承com.alibaba.druid.filter.FilterEventAdapter,重写statementExecuteQueryBefore()方法。
当前用户的话,一般的系统需要从会话(或者等同于会话的缓存等)中获取,虽然在你的实现里面可以这么写,不过最好是写个静态工具比如WebUtils.getCurrentUserId()把功能实现在里面