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
- All Implemented Interfaces:
Flushable
,AutoCloseable
An
AbstractDatabaseManager
implementation for relational databases accessed via JPA.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
AbstractDatabaseManager.AbstractFactoryData
-
Field Summary
Fields inherited from class org.apache.logging.log4j.core.appender.AbstractManager
count, LOGGER
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
protected void
static JpaDatabaseManager
getJPADatabaseManager
(String name, int bufferSize, Class<? extends AbstractLogEventWrapperEntity> entityClass, Constructor<? extends AbstractLogEventWrapperEntity> entityConstructor, String persistenceUnitName) Creates a JPA manager for use within theJpaAppender
, or returns a suitable one if it already exists.protected boolean
protected void
protected void
writeInternal
(LogEvent event, Serializable serializable) Methods inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager
buffer, flush, getManager, isBuffered, isRunning, releaseSub, shutdown, startup, toString, write, write, writeInternal, writeThrough
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractManager
close, getContentFormat, getCount, getLoggerContext, getManager, getName, getStrSubstitutor, hasManager, log, logDebug, logError, logger, logWarn, narrow, release, stop, updateData
-
Method Details
-
startupInternal
protected void startupInternal()- Specified by:
startupInternal
in classAbstractDatabaseManager
-
shutdownInternal
protected boolean shutdownInternal()- Specified by:
shutdownInternal
in classAbstractDatabaseManager
-
connectAndStart
protected void connectAndStart()- Specified by:
connectAndStart
in classAbstractDatabaseManager
-
writeInternal
- Specified by:
writeInternal
in classAbstractDatabaseManager
-
commitAndClose
protected boolean commitAndClose()- Specified by:
commitAndClose
in classAbstractDatabaseManager
-
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 theJpaAppender
, 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 theAbstractLogEventWrapperEntity
concrete implementation.entityConstructor
- The one-argLogEvent
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.
-