无法找到c3p0日志记录消息

时间:2011-08-03 15:13:47

标签: java logging c3p0 java.util.logging

直到最近,我们为每个查询创建了一个新的数据库连接。每个查询都使用connection.prepareStatement(query)进行设置,我们能够使用preparedStatement.toString()将这些查询记录到我们的记录器(java.util.logging)中。这是使用postgresql JDBC驱动程序。

现在我们已经切换到使用c3p0来管理连接池,不幸的是,prepareStatement.toString()不再返回准备好的查询语句。

我有read可以将c3p0日志记录定向到标准日志记录工具,但遗憾的是我无法找到这些消息的去向。我在哪里可以找到这些消息? NetBeans中的Glassfish 3控制台声明已启用调试。

INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]

2 个答案:

答案 0 :(得分:3)

我不确定,如果c3p0的日志记录是你真正想要的吗?

我建议使用log4jdbc,它可以记录任何JDBC查询(带参数),甚至为您提供指向JDBC / Hibernate / ...语句的堆栈跟踪,即使您正在使用连接池(使用选项-Dlog4jdbc.debug.stack.prefix=com.mycompany.myapp)。它还可以显示时间信息等等。

答案 1 :(得分:2)

日志记录似乎就像日志所说的那样(debug?true),但如果您阅读了帖子上的box,您会发现应该检查的设置选项以查找正确的文件。

如果您最终登录到所谓的最后选项,它应该记录到System.Err,这可能会导致问题:this post告诉System.Err默认情况下不会始终显示在< strong>任何日志文件!

所以继续尝试前面提到的方框中的其他选项或使用我链接的帖子的答案部分的修复:)