我需要在我的 Java EE 应用程序中记录 SQL 执行时间(任何进一步的统计数据都是可选的)。
事情以一种更不标准的方式设置:应用程序服务器上的数据源为池化 JDBC 连接提供服务。
应用程序用于 DB 访问组合:
- 休眠和
- Spring JDBC模板
它运行在:
- Glassfish OSE 和
- 甲骨文星展银行
我知道:有什么比 P6Spy 更好的吗?但是,从我的角度来看,问题/答案已经过时了。
到目前为止我发现了什么:
- 我可以采用纯休眠方法(休眠显示查询执行时间)
- 但在我的情况下,由于混合数据库访问,这是不可行的
- 我可以使用一些自定义 JDBC 驱动程序
- p6spy - 但是项目似乎已经死了几年(3年前的最后一次提交:http: //sourceforge.net/p/p6spy/code/23/tree/trunk/)
- log4jdbc - 但是超过 1 年没有发布,源活动似乎是 cca 6 个月未触及(http://code.google.com/p/log4jdbc/source/list)
- 另一个 2:log4jdbc-log4j2 和 log4jdbc-remix - 似乎还活着,但我不确定稳定性和广泛使用
非常欢迎基于经验的建议。
请注意,我对这样的答案很感兴趣:我们正在使用 XYZ,这是我们的经验,而不是我刚刚在谷歌上搜索并感觉......