Package ch.qos.logback.classic.db

## Class DBAppender

- java.lang.Object
- - ch.qos.logback.core.spi.ContextAwareBase
  - - ch.qos.logback.core.UnsynchronizedAppenderBase<E>
    - - ch.qos.logback.core.db.DBAppenderBase<ILoggingEvent>
      - - ch.qos.logback.classic.db.DBAppender

All Implemented Interfaces:
  `Appender<ILoggingEvent>`, `ContextAware`, `FilterAttachable<ILoggingEvent>`, `LifeCycle`

    public class DBAppender
    extends DBAppenderBase<ILoggingEvent>

The DBAppender inserts logging events into three database tables in a format independent of the Java programming language. For more information about this appender, please refer to the online manual at http://logback.qos.ch/manual/appenders.html#DBAppender

Author:
  Ceki Gülcü, Ray DeCampo, Sébastien Pennec

### Field Summary

Fields
`protected static java.lang.reflect.Method` `GET_GENERATED_KEYS_METHOD`
`protected java.lang.String` `insertExceptionSQL`
`protected java.lang.String` `insertPropertiesSQL`
`protected java.lang.String` `insertSQL`

### Fields inherited from class ch.qos.logback.core.db.DBAppenderBase

`cnxSupportsBatchUpdates, cnxSupportsGetGeneratedKeys, connectionSource, sqlDialect`

### Fields inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase

`name, started`

### Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase

`context`

### Constructor Summary

Constructors
`DBAppender()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected java.lang.reflect.Method` `getGeneratedKeysMethod()`
`protected java.lang.String` `getInsertSQL()`
`protected void` `insertProperties​(java.util.Map<java.lang.String,​java.lang.String> mergedMap, java.sql.Connection connection, long eventId)`
`protected void` `insertThrowable​(IThrowableProxy tp, java.sql.Connection connection, long eventId)`
`protected void` `secondarySubAppend​(ILoggingEvent event, java.sql.Connection connection, long eventId)`
`void` `setDbNameResolver​(DBNameResolver dbNameResolver)`
`void` `start()`
`protected void` `subAppend​(ILoggingEvent event, java.sql.Connection connection, java.sql.PreparedStatement insertStatement)`

### Methods inherited from class ch.qos.logback.core.db.DBAppenderBase

`append, getConnectionSource, selectEventId, setConnectionSource, stop`

### Methods inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase

`addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString`

### Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface ch.qos.logback.core.spi.ContextAware

`addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext`

### Field Detail

#### insertPropertiesSQL

    protected java.lang.String insertPropertiesSQL

#### insertExceptionSQL

    protected java.lang.String insertExceptionSQL

#### insertSQL

    protected java.lang.String insertSQL

#### GET_GENERATED_KEYS_METHOD

    protected static final java.lang.reflect.Method GET_GENERATED_KEYS_METHOD

### Constructor Detail

#### DBAppender

    public DBAppender()

### Method Detail

#### setDbNameResolver

    public void setDbNameResolver​(DBNameResolver dbNameResolver)

#### start

    public void start()

Specified by:
  `start` in interface `LifeCycle`
Overrides:
  `start` in class `DBAppenderBase<ILoggingEvent>`

#### subAppend

    protected void subAppend​(ILoggingEvent event,
                             java.sql.Connection connection,
                             java.sql.PreparedStatement insertStatement)
                      throws java.lang.Throwable

Specified by:
  `subAppend` in class `DBAppenderBase<ILoggingEvent>`
Throws:
  `java.lang.Throwable`

#### secondarySubAppend

    protected void secondarySubAppend​(ILoggingEvent event,
                                      java.sql.Connection connection,
                                      long eventId)
                               throws java.lang.Throwable

Specified by:
  `secondarySubAppend` in class `DBAppenderBase<ILoggingEvent>`
Throws:
  `java.lang.Throwable`

#### getGeneratedKeysMethod

    protected java.lang.reflect.Method getGeneratedKeysMethod()

Specified by:
  `getGeneratedKeysMethod` in class `DBAppenderBase<ILoggingEvent>`

#### getInsertSQL

    protected java.lang.String getInsertSQL()

Specified by:
  `getInsertSQL` in class `DBAppenderBase<ILoggingEvent>`

#### insertProperties

    protected void insertProperties​(java.util.Map<java.lang.String,​java.lang.String> mergedMap,
                                    java.sql.Connection connection,
                                    long eventId)
                             throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### insertThrowable

    protected void insertThrowable​(IThrowableProxy tp,
                                   java.sql.Connection connection,
                                   long eventId)
                            throws java.sql.SQLException

Throws:
  `java.sql.SQLException`