ch.qos.logback.classic.db
Class DBAppender

java.lang.Object
  extended by ch.qos.logback.core.spi.ContextAwareBase
      extended by ch.qos.logback.core.UnsynchronizedAppenderBase<E>
          extended by ch.qos.logback.core.db.DBAppenderBase<ILoggingEvent>
              extended by 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
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
DBAppender()
           
 
Method Summary
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