org.apache.logging.log4j.core.appender.db.jpa
Class JPADatabaseManager
java.lang.Object
org.apache.logging.log4j.core.appender.AbstractManager
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
org.apache.logging.log4j.core.appender.db.jpa.JPADatabaseManager
public final class JPADatabaseManager
- extends AbstractDatabaseManager
An AbstractDatabaseManager
implementation for relational databases accessed via JPA.
connectInternal
protected void connectInternal()
- Description copied from class:
AbstractDatabaseManager
- Implementations should implement this method to perform any proprietary connection operations. This method will
never be called twice on the same instance. It is safe to throw any exceptions from this method.
- Specified by:
connectInternal
in class AbstractDatabaseManager
disconnectInternal
protected void disconnectInternal()
- Description copied from class:
AbstractDatabaseManager
- Implementations should implement this method to perform any proprietary disconnection / shutdown operations. This
method will never be called twice on the same instance, and it will only be called after
AbstractDatabaseManager.connectInternal()
. It is safe to throw any exceptions from this method.
- Specified by:
disconnectInternal
in class AbstractDatabaseManager
writeInternal
protected void writeInternal(LogEvent event)
- Description copied from class:
AbstractDatabaseManager
- Performs the actual writing of the event in an implementation-specific way. This method is called immediately
from
AbstractDatabaseManager.write(LogEvent)
if buffering is off, or from AbstractDatabaseManager.flush()
if the buffer has reached its limit.
- Specified by:
writeInternal
in class AbstractDatabaseManager
- Parameters:
event
- The event to write to the database.
getJPADatabaseManager
public static JPADatabaseManager getJPADatabaseManager(String name,
int bufferSize,
Class<? extends AbstractLogEventWrapperEntity> entityClass,
Constructor<? extends AbstractLogEventWrapperEntity> entityConstructor,
String persistenceUnitName)
- Creates a JPA manager for use within the
JPAAppender
, or returns a suitable one if it already exists.
- Parameters:
name
- The name of the manager, which should include connection details, entity class name, etc.bufferSize
- The size of the log event buffer.entityClass
- The fully-qualified class name of the AbstractLogEventWrapperEntity
concrete
implementation.entityConstructor
- The one-arg LogEvent
constructor for the concrete entity class.persistenceUnitName
- The name of the JPA persistence unit that should be used for persisting log events.
- Returns:
- a new or existing JPA manager as applicable.
Copyright © 1999-2013 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.