org.apache.log.output.db

Class AbstractJDBCTarget

Implemented Interfaces:
ErrorAware, LogTarget
Known Direct Subclasses:
DefaultJDBCTarget

public abstract class AbstractJDBCTarget
extends AbstractTarget

Abstract JDBC target.
Authors:
Avalon Development Team
Peter Donald

Constructor Summary

AbstractJDBCTarget(DataSource dataSource)
Creation of a new instance of the AbstractJDBCTarget.

Method Summary

protected void
checkConnection()
Utility method to check connection and bring it back up if necessary.
void
close()
Shutdown target.
protected void
closeConnection()
Close connection to underlying database.
protected void
doProcessEvent(LogEvent event)
Process a log event, via formatting and outputting it.
protected Connection
getConnection()
Utility method for subclasses to access connection.
protected boolean
isStale()
Detect if connection is stale and should be reopened.
protected void
open()
Startup log session.
protected void
openConnection()
Open connection to underlying database.
protected abstract void
output(LogEvent event)
Output a log event to DB.

Methods inherited from class org.apache.log.output.AbstractTarget

close, doProcessEvent, error, getErrorHandler, isOpen, open, processEvent, setErrorHandler

Constructor Details

AbstractJDBCTarget

protected AbstractJDBCTarget(DataSource dataSource)
Creation of a new instance of the AbstractJDBCTarget.
Parameters:
dataSource - the JDBC datasource

Method Details

checkConnection

protected final void checkConnection()
Utility method to check connection and bring it back up if necessary.

close

public void close()
Shutdown target. Attempting to write to target after close() will cause errors to be logged.
Overrides:
close in interface AbstractTarget

closeConnection

protected void closeConnection()
Close connection to underlying database.

doProcessEvent

protected void doProcessEvent(LogEvent event)
            throws Exception
Process a log event, via formatting and outputting it.
Overrides:
doProcessEvent in interface AbstractTarget
Parameters:
event - the log event

getConnection

protected final Connection getConnection()
Utility method for subclasses to access connection.
Returns:
the Connection

isStale

protected boolean isStale()
Detect if connection is stale and should be reopened.
Returns:
true if connection is stale, false otherwise

open

protected void open()
Startup log session.
Overrides:
open in interface AbstractTarget

openConnection

protected void openConnection()
Open connection to underlying database.

output

protected abstract void output(LogEvent event)
Output a log event to DB. This must be implemented by subclasses.
Parameters:
event - the log event.