Class AbstractJDBCTarget

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

public abstract class AbstractJDBCTarget extends AbstractTarget
Abstract JDBC target.
Author:
Avalon Development Team, Peter Donald
  • Field Details

  • Constructor Details

    • AbstractJDBCTarget

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

    • doProcessEvent

      protected void doProcessEvent(LogEvent event) throws Exception
      Process a log event, via formatting and outputting it.
      Specified by:
      doProcessEvent in class AbstractTarget
      Parameters:
      event - the log event
      Throws:
      Exception - if an event processing error occurs
    • output

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

      protected void open()
      Startup log session.
      Overrides:
      open in class AbstractTarget
    • openConnection

      protected void openConnection()
      Open connection to underlying database.
    • getConnection

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

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

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

      public void close()
      Shutdown target. Attempting to write to target after close() will cause errors to be logged.
      Specified by:
      close in interface Closeable
      Overrides:
      close in class AbstractTarget
    • closeConnection

      protected void closeConnection()
      Close connection to underlying database.