org.apache.logging.log4j.core.appender.db.jpa
Class BasicLogEventEntity

java.lang.Object
  extended by org.apache.logging.log4j.core.appender.db.jpa.AbstractLogEventWrapperEntity
      extended by org.apache.logging.log4j.core.appender.db.jpa.BasicLogEventEntity
All Implemented Interfaces:
Serializable, LogEvent

@MappedSuperclass
public abstract class BasicLogEventEntity
extends AbstractLogEventWrapperEntity

Users of the JPA appender may want to extend this class instead of AbstractLogEventWrapperEntity. This class implements all of the required mutator methods but does not implement a mutable entity ID property. In order to create an entity based on this class, you need only create two constructors matching this class's constructors, annotate the class @Entity and @Table, and implement the fully mutable entity ID property annotated with @Id and @GeneratedValue to tell the JPA provider how to calculate an ID for new events.

The attributes in this entity use the default column names (which, according to the JPA spec, are the property names minus the "get" and "set" from the accessors/mutators). If you want to use different column names for one or more columns, override the necessary accessor methods defined in this class with the same annotations plus the @Column annotation to specify the column name.

The getContextMap() and getContextStack() attributes in this entity use the ContextMapAttributeConverter and ContextStackAttributeConverter, respectively. These convert the properties to simple strings that cannot be converted back to the properties. If you wish to instead convert these to a reversible JSON string, override these attributes with the same annotations but use the ContextMapJsonAttributeConverter and ContextStackJsonAttributeConverter instead.

All other attributes in this entity use reversible converters that can be used for both persistence and retrieval. If there are any attributes you do not want persistent, you should override their accessor methods and annotate with @Transient.

See Also:
AbstractLogEventWrapperEntity, Serialized Form

Constructor Summary
BasicLogEventEntity()
          Instantiates this base class.
BasicLogEventEntity(LogEvent wrappedEvent)
          Instantiates this base class.
 
Method Summary
 Map<String,String> getContextMap()
          Gets the context map.
 org.apache.logging.log4j.ThreadContext.ContextStack getContextStack()
          Gets the context stack.
 org.apache.logging.log4j.Level getLevel()
          Gets the level.
 String getLoggerFqcn()
          Gets the fully qualified class name of the caller of the logger API.
 String getLoggerName()
          Gets the logger name.
 org.apache.logging.log4j.Marker getMarker()
          Gets the marker.
 org.apache.logging.log4j.message.Message getMessage()
          Gets the message.
 StackTraceElement getSource()
          Gets the source location information.
 String getThreadName()
          Gets the thread name.
 Throwable getThrown()
          Gets the exception logged.
 ThrowableProxy getThrownProxy()
          Gets the exception logged.
 long getTimeMillis()
          Gets the number of milliseconds since JVM launch.
 
Methods inherited from class org.apache.logging.log4j.core.appender.db.jpa.AbstractLogEventWrapperEntity
getWrappedEvent, isEndOfBatch, isIncludeLocation, setContextMap, setContextStack, setEndOfBatch, setIncludeLocation, setLevel, setLoggerFqcn, setLoggerName, setMarker, setMessage, setSource, setThreadName, setThrown, setTimeMillis
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicLogEventEntity

public BasicLogEventEntity()
Instantiates this base class. All concrete implementations must have a constructor matching this constructor's signature. The no-argument constructor is required for a standards-compliant JPA provider to accept this as an entity.


BasicLogEventEntity

public BasicLogEventEntity(LogEvent wrappedEvent)
Instantiates this base class. All concrete implementations must have a constructor matching this constructor's signature. This constructor is used for wrapping this entity around a logged event.

Parameters:
wrappedEvent - The underlying event from which information is obtained.
Method Detail

getLevel

public org.apache.logging.log4j.Level getLevel()
Gets the level. Annotated with @Basic and @Enumerated(EnumType.STRING).

Returns:
the level.

getLoggerName

public String getLoggerName()
Gets the logger name. Annotated with @Basic.

Returns:
the logger name.

getSource

public StackTraceElement getSource()
Gets the source location information. Annotated with @Convert(converter = StackTraceElementAttributeConverter.class).

Returns:
the source location information.
See Also:
StackTraceElementAttributeConverter

getMessage

public org.apache.logging.log4j.message.Message getMessage()
Gets the message. Annotated with @Convert(converter = MessageAttributeConverter.class).

Returns:
the message.
See Also:
MessageAttributeConverter

getMarker

public org.apache.logging.log4j.Marker getMarker()
Gets the marker. Annotated with @Convert(converter = MarkerAttributeConverter.class).

Returns:
the marker.
See Also:
MarkerAttributeConverter

getThreadName

public String getThreadName()
Gets the thread name. Annotated with @Basic.

Returns:
the thread name.

getTimeMillis

public long getTimeMillis()
Gets the number of milliseconds since JVM launch. Annotated with @Basic.

Returns:
the number of milliseconds since JVM launch.
See Also:
System.currentTimeMillis()

getThrown

public Throwable getThrown()
Gets the exception logged. Annotated with @Convert(converter = ThrowableAttributeConverter.class).

Returns:
the exception logged.
See Also:
ThrowableAttributeConverter

getThrownProxy

public ThrowableProxy getThrownProxy()
Gets the exception logged. Annotated with @Convert(converter = ThrowableAttributeConverter.class).

Returns:
the exception logged.
See Also:
ThrowableAttributeConverter

getContextMap

public Map<String,String> getContextMap()
Gets the context map. Annotated with @Convert(converter = ContextMapAttributeConverter.class).

Returns:
the context map.
See Also:
ContextMapAttributeConverter, ContextMapJsonAttributeConverter

getContextStack

public org.apache.logging.log4j.ThreadContext.ContextStack getContextStack()
Gets the context stack. Annotated with @Convert(converter = ContextStackAttributeConverter.class).

Returns:
the context stack.
See Also:
ContextStackAttributeConverter, ContextStackJsonAttributeConverter

getLoggerFqcn

public String getLoggerFqcn()
Gets the fully qualified class name of the caller of the logger API. Annotated with @Basic.

Returns:
the fully qualified class name of the caller of the logger API.


Copyright © 1999-2015 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.