org.apache.log.output.db
Class DefaultJDBCTarget

java.lang.Object
  extended byorg.apache.log.output.AbstractTarget
      extended byorg.apache.log.output.db.AbstractJDBCTarget
          extended byorg.apache.log.output.db.DefaultJDBCTarget
All Implemented Interfaces:
Closeable, ErrorAware, LogTarget
Direct Known Subclasses:
NormalizedJDBCTarget

public class DefaultJDBCTarget
extends AbstractJDBCTarget

The basic DB target for configurable output formats.

Author:
Avalon Development Team, Peter Donald

Constructor Summary
DefaultJDBCTarget(javax.sql.DataSource dataSource, java.lang.String table, ColumnInfo[] columns)
          Creation of a new JDBC logging target.
 
Method Summary
protected  void closeConnection()
          Close connection to underlying database.
protected  ColumnInfo getColumn(int index)
          Return the column info for an supplied index.
protected  java.lang.String getStatementSQL()
          Return the SQL insert statement.
protected  java.lang.String getTable()
          Return the underlying table
protected  boolean isStale()
          Test if the target is stale.
protected  void openConnection()
          Open connection to underlying database.
protected  void output(LogEvent event)
          Output a log event to DB.
protected  void specifyColumn(java.sql.PreparedStatement statement, int index, LogEvent event)
          Adds a single object into statement.
 
Methods inherited from class org.apache.log.output.db.AbstractJDBCTarget
checkConnection, close, doProcessEvent, getConnection, open
 
Methods inherited from class org.apache.log.output.AbstractTarget
getErrorHandler, isOpen, processEvent, setErrorHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultJDBCTarget

public DefaultJDBCTarget(javax.sql.DataSource dataSource,
                         java.lang.String table,
                         ColumnInfo[] columns)
Creation of a new JDBC logging target.

Parameters:
dataSource - the JDBC datasource
table - the table
columns - a ColumnInfo array
Method Detail

output

protected void output(LogEvent event)
Output a log event to DB. This must be implemented by subclasses.

Specified by:
output in class AbstractJDBCTarget
Parameters:
event - the log event.

openConnection

protected void openConnection()
Open connection to underlying database.

Overrides:
openConnection in class AbstractJDBCTarget

getStatementSQL

protected java.lang.String getStatementSQL()
Return the SQL insert statement.

Returns:
the statement

isStale

protected boolean isStale()
Test if the target is stale.

Overrides:
isStale in class AbstractJDBCTarget
Returns:
TRUE if the target is stale else FALSE

closeConnection

protected void closeConnection()
Close connection to underlying database.

Overrides:
closeConnection in class AbstractJDBCTarget

specifyColumn

protected void specifyColumn(java.sql.PreparedStatement statement,
                             int index,
                             LogEvent event)
                      throws java.sql.SQLException,
                             java.lang.IllegalStateException
Adds a single object into statement.

Parameters:
statement - the prepard statement
index - the index
event - the log event
Throws:
java.sql.SQLException - if an SQL related error occurs
java.lang.IllegalStateException - if the supplied index is out of bounds

getTable

protected final java.lang.String getTable()
Return the underlying table

Returns:
the table name

getColumn

protected final ColumnInfo getColumn(int index)
Return the column info for an supplied index.

Parameters:
index - the index
Returns:
the column info


Copyright © 1997-2005 The Apache Software Foundation. All Rights Reserved.