I am using logback 1.0.0. I add a dbAppender with a JNDI connection. I have configure the connection en persistente.xml. This connection is the same of the rest of the application and it works perfectly.
In the first time looks the tables of the DB have logs but later it crash with this message:
problem appending event java.sql.SQLException: Cannot call commit when using distributed transactions
at java.sql.SQLException: Cannot call commit when using distributed transactions
at at weblogic.jdbc.wrapper.JTAConnection.commit(JTAConnection.java:355)
at at ch.qos.logback.core.db.DBAppenderBase.append(DBAppenderBase.java:117)
at at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88)
at at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:53)
at at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:282)
at at ch.qos.logback.classic.Logger.callAppenders(Logger.java:269)
at at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:471)
at at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:425)
at at ch.qos.logback.classic.Logger.error(Logger.java:572)
logback.xml
<appender name="Default" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.JNDIConnectionSource">
</connectionSource>
</appender>
<root level="DEBUG">
<appender-ref ref="Default"/>
<appender-ref ref="MiConsola"/>
</root>
persistence.xml
<persistence-unit name="DataSource">
<provider>
org.eclipse.persistence.jpa.PersistenceProvider
</provider>
<jta-data-source>java:/app/jdbc/jdbc/DataSourceDS</jta-data-source>
<properties>
<property name="eclipselink.logging.level" value="OFF"/>
<property name="javax.persistence.jtaDataSource"
value="java:/app/jdbc/jdbc/DataSourceDS"/>
<property name="eclipselink.target-server" value="WebLogic_10"/>
<property name="eclipselink.target-database" value="Oracle10g"/>
</properties>
</persistence-unit>