我在一个新项目中使用 Eclipselink 2.3.0,该项目部署在 EAR 文件中的 Glassfish 3.1.2 中。
这些是我的 persistence.xml 中定义的所有属性:
<property name="eclipselink.target-database" value="MySQL"/>
<property name="eclipselink.logging.logger" value="DefaultLogger"/>
<property name="eclipselink.logging.file" value="\logs\eclipselink.log"/>
<property name="eclipselink.logging.level" value="FINEST"/>
<property name="eclipselink.logging.parameters" value="true"/>
<property name="eclipselink.logging.timestamp" value="true"/>
<property name="eclipselink.logging.thread" value="true"/>
<property name="eclipselink.logging.session" value="true"/>
<property name="eclipselink.logging.exceptions" value="true"/>
除了 eclipselink.logging.file 之外,所有属性都按预期工作。它会创建文件“\logs\eclipselink.log”,但它始终是空的,并且日志记录输出到标准输出。
我尝试从 DefaultLogger 更改为 JavaLogger,并将文件名更改为其他方向的斜线等。我尝试的所有操作都会导致一个空的日志文件,并且日志记录输出会转到 stdout。
关于为什么会发生这种情况的任何想法?在我看来,EclipseLink 正在正确读取属性并创建文件,但在某处输出被重定向到标准输出。
PS EAR项目中只有一个persistence.xml,并且这是Glassfish实例中部署的唯一项目。