Class SmtpAppender
- 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.SmtpAppender
-
- All Implemented Interfaces:
Appender,Filterable,LocationAware,LifeCycle,LifeCycle2
@Plugin(name="SMTP", category="Core", elementType="appender", printObject=true) public final class SmtpAppender extends AbstractAppender
Send an e-mail when a specific logging event occurs, typically on errors or fatal errors.The number of logging events delivered in this e-mail depend on the value of BufferSize option. The
SmtpAppenderkeeps only the lastBufferSizelogging events in its cyclic buffer. This keeps memory requirements at a reasonable level while still delivering useful application context. By default, an email message will formatted as HTML. This can be modified by setting a layout for the appender. By default, an email message will be sent when an ERROR or higher severity message is appended. This can be modified by setting a filter for the appender.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSmtpAppender.Builder-
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.AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.Appender
ELEMENT_TYPE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidappend(LogEvent event)Perform SmtpAppender specific appending actions, mainly adding the event to a cyclic buffer and checking if the event triggers an e-mail to be sent.static SmtpAppendercreateAppender(Configuration config, java.lang.String name, java.lang.String to, java.lang.String cc, java.lang.String bcc, java.lang.String from, java.lang.String replyTo, java.lang.String subject, java.lang.String smtpProtocol, java.lang.String smtpHost, java.lang.String smtpPortStr, java.lang.String smtpUsername, java.lang.String smtpPassword, java.lang.String smtpDebug, java.lang.String bufferSizeStr, Layout<? extends java.io.Serializable> layout, Filter filter, java.lang.String ignore)Deprecated.UsenewBuilder()to create and configure aSmtpAppender.Builderinstance.booleanisFiltered(LogEvent event)Capture all events in CyclicBuffer.static SmtpAppender.BuildernewBuilder()-
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toString
-
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, removeFilter, start, stop, 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 Detail
-
newBuilder
@PluginBuilderFactory public static SmtpAppender.Builder newBuilder()
- Since:
- 2.13.2
-
createAppender
public static SmtpAppender createAppender(@PluginConfiguration Configuration config, @PluginAttribute("name") @Required java.lang.String name, @PluginAttribute("to") java.lang.String to, @PluginAttribute("cc") java.lang.String cc, @PluginAttribute("bcc") java.lang.String bcc, @PluginAttribute("from") java.lang.String from, @PluginAttribute("replyTo") java.lang.String replyTo, @PluginAttribute("subject") java.lang.String subject, @PluginAttribute("smtpProtocol") java.lang.String smtpProtocol, @PluginAttribute("smtpHost") java.lang.String smtpHost, @PluginAttribute(value="smtpPort",defaultString="0") @ValidPort java.lang.String smtpPortStr, @PluginAttribute("smtpUsername") java.lang.String smtpUsername, @PluginAttribute(value="smtpPassword",sensitive=true) java.lang.String smtpPassword, @PluginAttribute("smtpDebug") java.lang.String smtpDebug, @PluginAttribute("bufferSize") java.lang.String bufferSizeStr, @PluginElement("Layout") Layout<? extends java.io.Serializable> layout, @PluginElement("Filter") Filter filter, @PluginAttribute("ignoreExceptions") java.lang.String ignore)
Deprecated.UsenewBuilder()to create and configure aSmtpAppender.Builderinstance.Create a SmtpAppender.- See Also:
SmtpAppender.Builder
-
isFiltered
public boolean isFiltered(LogEvent event)
Capture all events in CyclicBuffer.- Specified by:
isFilteredin interfaceFilterable- Overrides:
isFilteredin classAbstractFilterable- Parameters:
event- The Log event.- Returns:
- true if the event should be filtered.
-
append
public void append(LogEvent event)
Perform SmtpAppender specific appending actions, mainly adding the event to a cyclic buffer and checking if the event triggers an e-mail to be sent.- Parameters:
event- The Log event.
-
-