Package org.apache.log.output.db
Class DefaultJDBCTarget
- java.lang.Object
-
- org.apache.log.output.AbstractTarget
-
- org.apache.log.output.db.AbstractJDBCTarget
-
- org.apache.log.output.db.DefaultJDBCTarget
-
- All Implemented Interfaces:
ErrorAware,LogTarget,Closeable
- Direct Known Subclasses:
NormalizedJDBCTarget
public class DefaultJDBCTarget extends AbstractJDBCTarget
The basic DB target for configurable output formats.- Author:
- Avalon Development Team, Peter Donald
-
-
Field Summary
Fields Modifier and Type Field Description private ColumnInfo[]m_columnsprivate java.sql.PreparedStatementm_statementprivate java.lang.Stringm_table
-
Constructor Summary
Constructors Constructor Description DefaultJDBCTarget(javax.sql.DataSource dataSource, java.lang.String table, ColumnInfo[] columns)Creation of a new JDBC logging target.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcloseConnection()Close connection to underlying database.protected ColumnInfogetColumn(int index)Return the column info for an supplied index.private java.lang.StringgetContextMap(ContextMap map, java.lang.String aux)private java.lang.StringgetStackTrace(java.lang.Throwable throwable)protected java.lang.StringgetStatementSQL()Return the SQL insert statement.protected java.lang.StringgetTable()Return the underlying tableprotected booleanisStale()Test if the target is stale.protected voidopenConnection()Open connection to underlying database.protected voidoutput(LogEvent event)Output a log event to DB.protected voidspecifyColumn(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
-
-
-
-
Field Detail
-
m_table
private final java.lang.String m_table
-
m_columns
private final ColumnInfo[] m_columns
-
m_statement
private java.sql.PreparedStatement m_statement
-
-
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 datasourcetable- the tablecolumns- 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:
outputin classAbstractJDBCTarget- Parameters:
event- the log event.
-
openConnection
protected void openConnection()
Open connection to underlying database.- Overrides:
openConnectionin classAbstractJDBCTarget
-
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:
isStalein classAbstractJDBCTarget- Returns:
- TRUE if the target is stale else FALSE
-
closeConnection
protected void closeConnection()
Close connection to underlying database.- Overrides:
closeConnectionin classAbstractJDBCTarget
-
specifyColumn
protected void specifyColumn(java.sql.PreparedStatement statement, int index, LogEvent event) throws java.sql.SQLException, java.lang.IllegalStateExceptionAdds a single object into statement.- Parameters:
statement- the prepard statementindex- the indexevent- the log event- Throws:
java.sql.SQLException- if an SQL related error occursjava.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
-
getStackTrace
private java.lang.String getStackTrace(java.lang.Throwable throwable)
-
getContextMap
private java.lang.String getContextMap(ContextMap map, java.lang.String aux)
-
-