@Plugin(name="SNSAppender",
category="Core",
elementType="appender")
public class SNSAppender
extends AbstractAppender<SNSWriterConfig,SNSAppenderConfig,SNSWriterStatistics,SNSWriterStatisticsMXBean>
This appender supports the following configuration parameters:
| topicName | The name of the destination SNS topic; substitutions are allowed.
Must refer to a topic in the current region; if not, and you do not enable auto-create, initialization fails.
If you specify both |
|---|---|
| topicArn | The ARN of the destination SNS topic; substitutions are allowed.
Must refer to a topic in the current region; if not, initialization fails.
If you specify both |
| autoCreate | If true, and the topic is specified by name, the appender will create
the topic if it does not already exist. If false, a missing topic
will be reported as an error and the appender will be disabled.
Default is |
| subject | (optional) The subject for messages that are delivered via email. This is constrained by the SNS API to be less than 100 characters, ASCII only, and not start with whitespace. |
| truncateOversizeMessages | If true (the default), oversize messages are truncated to
the maximum length permitted by SNS. If false, they are
discarded. In either case, the oversized message is reported to the
Log4J debug log.
|
| discardThreshold | The number of unsent messages that will trigger message discard. A
high value is useful when network connectivity is intermittent and/or
overall AWS communication is causing throttling. However, a value that
is too high may cause out-of-memory errors.
The default, 10,000, is based on the assumptions that (1) each message will be 1k or less, and (2) any app that uses remote logging can afford 10MB. |
| discardAction | The action to take when the number of unsent messages exceeds the
discard threshold. Values are "none" (retain all messages), "oldest"
(discard oldest messages), and "newest" (discard most recent messages).
The default is "oldest". Attempting to set an incorrect value will throw a configuration error. |
| assumedRole | Specifies role name or ARN that will be assumed by this appender. Useful for cross-account logging. If the appender does not have permission to assume this role, initialization will fail. |
| clientFactory | The fully-qualified name of a static method to create the correct AWS
client, which will be called instead of the writer's internal client
factory. This is useful if you need non-default configuration, such as
using a proxy server.
The passed string is of the form |
| clientRegion | Specifies a non-default service region. This setting is ignored if you use a client factory. |
| clientEndpoint | Specifies a non-default service endpoint. Typically used when running in a VPC, when the normal endpoint is not available. |
| initializationTimeout | Milliseconds to wait for appender to initialize. If this timeout expires, the appender will shut down its writer thread and discard any future log events. The only reason to change this is if you're deploying to a high- contention environment (and even then, the default of 60 seconds should be more than enough). |
| useShutdownHook | This exists for consistency with other appenders but ignored; Log4J2 provides its own shutdown hooks. |
| Modifier and Type | Class and Description |
|---|---|
static class |
SNSAppender.SNSAppenderBuilder |
appenderConfig, appenderStats, discardAction, internalLogger, layoutCharset, threadFactory, writer, writerFactory| Modifier | Constructor and Description |
|---|---|
protected |
SNSAppender(String name,
SNSAppenderConfig config,
InternalLogger internalLogger) |
| Modifier and Type | Method and Description |
|---|---|
protected SNSWriterConfig |
generateWriterConfig()
Called as part of initialization.
|
static SNSAppender.SNSAppenderBuilder |
newBuilder() |
append, getAppenderStatistics, getConfig, registerStatisticsBean, start, stop, stop, unregisterStatisticsBeanerror, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, setHandler, toStringaddFilter, getFilter, hasFilter, isFiltered, removeFilter, stopequalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stopprotected SNSAppender(String name, SNSAppenderConfig config, InternalLogger internalLogger)
@PluginBuilderFactory public static SNSAppender.SNSAppenderBuilder newBuilder()
protected SNSWriterConfig generateWriterConfig()
AbstractAppendergenerateWriterConfig in class AbstractAppender<SNSWriterConfig,SNSAppenderConfig,SNSWriterStatistics,SNSWriterStatisticsMXBean>Copyright © 2022. All rights reserved.