All Implemented Interfaces:
Appender, Filterable, LocationAware, LifeCycle, LifeCycle2

@Plugin(name="JPA", category="Core", elementType="appender", printObject=true) public final class JpaAppender extends AbstractDatabaseAppender<JpaDatabaseManager>
This Appender writes logging events to a relational database using the Java Persistence API. It requires a pre-configured JPA persistence unit and a concrete implementation of the abstract AbstractLogEventWrapperEntity class decorated with JPA annotations.
See Also:
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class AbstractAppender
    • createAppender

      @PluginFactory public static JpaAppender createAppender(@PluginAttribute("name") String name, @PluginAttribute("ignoreExceptions") String ignore, @PluginElement("Filter") Filter filter, @PluginAttribute("bufferSize") String bufferSize, @PluginAttribute("entityClassName") String entityClassName, @PluginAttribute("persistenceUnitName") String persistenceUnitName)
      Factory method for creating a JPA appender within the plugin manager.
      Parameters:
      name - The name of the appender.
      ignore - If "true" (default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.
      filter - The filter, if any, to use.
      bufferSize - If an integer greater than 0, this causes the appender to buffer log events and flush whenever the buffer reaches this size.
      entityClassName - The fully qualified name of the concrete AbstractLogEventWrapperEntity implementation that has JPA annotations mapping it to a database table.
      persistenceUnitName - The name of the JPA persistence unit that should be used for persisting log events.
      Returns:
      a new JPA appender.