Glassfish v3服务器上的JPA日志记录级别

时间:2012-10-18 12:10:39

标签: jpa glassfish-3

<property name="eclipselink.logging.level" value="FINE" />

如何按服务器设置日志记录级别。我想在我的开发服务器上看到Level.FINE。但当然只有生产性服务器上的Level.WARNING。

如果我将上面的行放在persistence.xml中,那么它会在两台机器上自动设置。我必须记得手动关掉它。那当然很危险。

非常感谢。

3 个答案:

答案 0 :(得分:4)

您可以参考EclipseLink/Examples/JPA/Logging

  

注意:将eclipselink.logging.level设置为FINE是不够的(从EclipseLink 2.4.0 - Juno开始),您必须将eclipselink.logging.level.sql设置为FINE。

<property name="eclipselink.logging.level" value="FINE"/>
<property name="eclipselink.logging.level.sql" value="FINE"/>
<property name="eclipselink.logging.parameters" value="true"/>

答案 1 :(得分:3)

我一直在努力解决这个问题。我发现在GlassFish上(在3.1.2版本中),您可以从GlassFish域/ / config目录编辑logging.properties文件。

找到org.eclipse.persistence.session.level条目并按如下所示进行更改:

org.eclipse.persistence.session.level=FINE

除此之外,我发现我需要添加这两个条目:

org.eclipse.persistence.level = FINE
org.eclipse.persistence.sql.level = FINE

当像这样编辑logging.properties文件时,不需要在persistence.xml文件中添加任何有关日志记录的内容,它将满足您的上述要求。

注意:我还没有设法让eclipselink.logging.parameter = true在persistence.xml中工作(它不能在logging.properties中分配)。因此,SQL日志记录可以正常工作,而不是完全绑定转储。

答案 2 :(得分:0)

我将这些行添加到logging.properties文件中,并且无需将其添加到persistence.xml即可。所以它现在是服务器所依赖的。

eclipselink.logging.level=FINE
eclipselink.logging.level.sql=FINE
eclipselink.logging.parameters=true