Class JdbcAppender
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilterable
org.apache.logging.log4j.core.appender.AbstractAppender
org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<JdbcDatabaseManager>
org.apache.logging.log4j.core.appender.db.jdbc.JdbcAppender
- All Implemented Interfaces:
Appender
,Filterable
,LocationAware
,LifeCycle
,LifeCycle2
@Plugin(name="JDBC",
category="Core",
elementType="appender",
printObject=true)
public final class JdbcAppender
extends AbstractDatabaseAppender<JdbcDatabaseManager>
This Appender writes logging events to a relational database using standard JDBC mechanisms. It takes a list of
ColumnConfig
s and/or ColumnMapping
s with which it determines how to save the event data into the
appropriate columns in the table. ColumnMapping is new as of Log4j 2.8 and supports
type conversion and persistence using PreparedStatement.setObject(int, Object)
.
A ConnectionSource
plugin instance instructs the appender (and JdbcDatabaseManager
) how to connect to
the database. This appender can be reconfigured at run time.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
JdbcAppender.Builder<B extends JdbcAppender.Builder<B>>
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
LifeCycle.State
-
Field Summary
Fields inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender
DEFAULT_RECONNECT_INTERVAL_MILLIS
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
Fields inherited from interface org.apache.logging.log4j.core.Appender
ELEMENT_TYPE, EMPTY_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionstatic <B extends JdbcAppender.Builder<B>>
JdbcAppendercreateAppender
(String name, String ignore, Filter filter, ConnectionSource connectionSource, String bufferSize, String tableName, ColumnConfig[] columnConfigs) Deprecated.static <B extends JdbcAppender.Builder<B>>
BtoString()
Methods inherited from class org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender
append, getLayout, getManager, replaceManager, start, stop
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
error, error, error, getHandler, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, stop
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
-
Method Details
-
createAppender
@Deprecated public static <B extends JdbcAppender.Builder<B>> JdbcAppender createAppender(String name, String ignore, Filter filter, ConnectionSource connectionSource, String bufferSize, String tableName, ColumnConfig[] columnConfigs) Deprecated.usenewBuilder()
Factory method for creating a JDBC appender within the plugin manager.- See Also:
-
newBuilder
-
toString
- Overrides:
toString
in classAbstractAppender
-
newBuilder()