Java 找不到c3p0日志消息

Java 找不到c3p0日志消息,java,logging,c3p0,java.util.logging,Java,Logging,C3p0,Java.util.logging,直到最近,我们为每个查询创建了一个新的数据库连接。每个查询都是使用connection.prepareStatement(query)设置的,我们可以使用preparedStatement.toString()将这些查询记录到日志记录器(java.util.logging)。这是使用postgresql JDBC驱动程序 现在我们已经切换到使用c3p0来管理连接池,不幸的是preparedStatement.toString()不再返回准备好的查询语句 我知道c3p0日志记录可以被定向到标准日志

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

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

我知道c3p0日志记录可以被定向到标准日志记录设施,但不幸的是,我无法找到这些消息的去向。我在哪里可以找到这些信息?NetBeans中Glassfish 3的控制台声明已启用调试

INFO: Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10] 信息:初始化c3p0-0.9.1.2[Build 21-May-2007 15:04:56;调试?正确;跟踪:10]
日志记录似乎如日志所示(debug?true),但是如果您阅读了文章中链接上的,您将找到应该检查的设置选项,以查找正确的文件

如果您最终登录到所谓的“最后手段”选项,它应该登录到
System.Err
,这可能会导致问题:默认情况下,系统.Err在任何日志文件中并不总是可见


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

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


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

好的,要澄清关于问号的一些问题,我们希望找到这些日志的去向,这非常简单。但他假设c3p0记录的是实际的查询字符串,实际情况可能并非如此。这是我感兴趣的部分(也是悬赏的重点):是否可以从c3p0中记录实际的查询?如果您想添加到answer@Mark:您在通过c3p0获取任何日志时有问题吗?或者在toString()方法之后没有看到它?如果是第一个案例,请阅读我的答案,否则,我无能为力,对不起。@mico:谢谢你的反馈。我找到了c3p0生成的日志,并且能够调整配置设置。但是,我假设c3p0将记录它正在运行的实际查询。据我所知,即使日志级别设置为ALL,情况也并非如此。克里斯:很好,我搜索了一个这样的库,在你的评论中找到了。谢谢@克里斯·勒彻-谢谢,这就是我一直在寻找的解决方案。除了一般的启动/关闭项目外,c3p0似乎只记录以下无用的内容:
com.mchange.v2.c3p0.impl。NewProxyPreparedStatement@481e5f