JUL logging.properties和Hibernate

JUL logging.properties和Hibernate,hibernate,glassfish-3,java.util.logging,Hibernate,Glassfish 3,Java.util.logging,我试图让Hibernate记录参数值。 我正在使用Netbeans,并将生成的WAR文件部署到Ubuntu盒上的Glassfish。 我使用JavaUtil日志记录(而不是log4j等),因为我以前没有使用过它,我想看看它的比较结果 我已经在persistence.xml中将hibernate.show_sql属性设置为true,是的,我可以在日志中看到sql(信息级别)。但是,要查看SQL中使用的参数值,我认为需要将Hibernate的日志级别更改为跟踪(或至少调试),而我的应用程序似乎设置为

我试图让Hibernate记录参数值。 我正在使用Netbeans,并将生成的WAR文件部署到Ubuntu盒上的Glassfish。 我使用JavaUtil日志记录(而不是log4j等),因为我以前没有使用过它,我想看看它的比较结果

我已经在persistence.xml中将hibernate.show_sql属性设置为true,是的,我可以在日志中看到sql(信息级别)。但是,要查看SQL中使用的参数值,我认为需要将Hibernate的日志级别更改为跟踪(或至少调试),而我的应用程序似乎设置为信息级别

我知道logging.properties是实现这一点的地方,但文档似乎都指向在JRE中配置它,这将是系统范围的

我的问题是。。。我是否可以将logging.properties放在应用程序中的某个位置,以便同一appserver上的不同应用程序可以具有不同的日志记录配置

而且,鉴于(从我读到的)Hibernate使用通用日志记录,我会得到这些信息吗,因为我使用的是JUL而不是通用日志记录


谢谢

您可以将属性文件放在应用程序类路径的根目录下。对于web应用程序,其中一个地方是web-INF/classes

如果启用跟踪级别,您将能够看到如下跟踪语句

insert into table (name, id) values (?, ?)
.........................

binding '1' to parameter: 2
然而,这可能不是你想要的。如果希望sql本身显示包含的绑定参数,那么可以使用P6Spy库。设置P6Spy非常简单。您可以查看如何设置它

设置好后,您可以在日志中看到sql

insert into grouptable (name, id) values ('Name', 1)

谢谢Shailendra,我已经开始工作了。只需找到正确的logging.properties文件。我绑定的Netbeans/Glassfish实例的文件位于C:\Users\richard\.Netbeans\7.1.1\config\GF3\domain1\config中。我设置org.hibernate.level=FINEST(似乎对应于跟踪),现在我得到了所有hibernate跟踪信息。我现在要试试看,这听起来很有价值。谢谢你的提示