Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
我有一个Java应用程序,它连接到Postgres数据库并发出一些SQL语句。我想监视连接以获取有关每个查询执行速度的统计信息。我试过使用JAMon(on-topic),但并不真正理解它,并且发现文档非常缺乏。
这就是我打开连接的方式:
Class.forName("com.jamonapi.proxy.JAMonDriver");
con = DriverManager.getConnection("jdbc:jamon:postgresql://localhost:5432/myDB?jamonrealdriver=org.postgresql.Driver", "user", "pw");

不过,我没注意到有什么不同。一切仍然正常,所以我想这至少没有错误配置,但我没有日志或任何地方。我还有别的事要安排吗?
我也试过加上这一行,但也没起作用:
con = MonProxyFactory.monitor(con);

所以,基本上,我要找的是一个完整的、可理解的初学者指南,指导使用JAMon监视JDBC调用(甚至任何其他监视工具,只要它易于设置)。
注意:完成的程序应该在我没有无限制访问权限的远程数据库上运行,这意味着我无法编辑postgresql.conf或访问数据库的日志文件。这意味着我不能使用解决方案来http://jamonapi.sourceforge.net/
我也尝试过使用JDbMonitor(Can I log query execution time in PostgresSQL 8.4?),我成功地将它设置为监视器成功连接的点(它从Java应用程序找到了我的open DB连接),但它从未显示/记录任何查询。所以给那个监视器一点帮助也很好:D。
编辑:log4jdbc(http://www.jdbmonitor.com/)是一个可行的选项吗?最新的版本说它只适用于Java1.7,所以我不确定它是否能工作,但会在这里等待答案的同时尝试它。。。

最佳答案

可以使用P6Spy
https://p6spy.github.io/p6spy/2.0/install.html
https://p6spy.readthedocs.io/en/latest/install.html
一旦与应用程序正确集成,它就会生成一个完整的日志。

关于java - 监视JDBC调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34990589/

10-15 11:06