Glassfish3.1.2のEARファイルにデプロイされた新しいプロジェクトでEclipselink2.3.0を使用しています。
これらはすべて、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」が作成されますが、常に空であり、ログ出力はstdoutに送られます。
DefaultLoggerからJavaLoggerに変更し、ファイル名を逆方向のスラッシュなどに変更してみました。試行すると、ログファイルが空になり、ログ出力がstdoutになります。
なぜこれが起こっているのかについてのアイデアはありますか?EclipseLinkがプロパティを正しく読み取り、ファイルを作成しているように見えますが、どこかで出力がstdoutにリダイレクトされています。
PS EARプロジェクトにはpersistence.xmlが1つだけあり、これはGlassfishインスタンスにデプロイされた唯一のプロジェクトです。