public class KinesisAppender<LogbackEventType> extends AbstractAppender<KinesisWriterConfig,KinesisWriterStatistics,KinesisWriterStatisticsMXBean,LogbackEventType>
This appender supports the following configuration parameters:
| streamName | The name of the Kinesis data stream where messages are written. |
|---|---|
| partitionKey | The partition key to use for messages from this appender. All
messages with the same partition key will be sent to the same
Kinesis shard.
Default value is "{startupTimestamp}".
The value |
| autoCreate | If true, the appender will create the stream if it does not already
exist. If false, a missing stream will be reported as an error and
the appender will be disabled.
Default is |
| shardCount | For auto-created streams, the number of shards in the stream. |
| retentionPeriod | For auto-created streams, the number of hours that messages will be retained in the stream. Allowed range is 25 to 168. |
| batchDelay | The time, in milliseconds, that the writer will wait to accumulate
messages for a batch.
The writer attempts to gather multiple logging messages into a batch, to reduce communication with the service. The batch delay controls the time that a message will remain in-memory while the writer builds this batch. In a low-volume environment it will be the main determinant of when the batch is sent; in a high volume environment it's likely that the maximum request size will be reached before the delay elapses. The default value is 2000, which is rather arbitrarily chosen. If the appender is in synchronous mode, this setting is ignored. |
| truncateOversizeMessages | If true (the default), oversize messages are truncated to
the maximum length permitted by Kinesis. If false they are
discarded. In either case, the oversized message is reported to the
Logback 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.
Note that the region must be supported by the current SDK version. |
| clientEndpoint | Specifies a non-default service endpoint. This is intended for use with older AWS SDK versions that do not provide client factories and default to us-east-1 for constructed clients, although it can be used for newer releases when you want to override the default region provider. This setting is ignored if you use a client factory. |
| useShutdownHook | Controls whether the appender uses a shutdown hook to attempt to process outstanding messages when the JVM exits. This is true by default; set to false to disable. |
appenderStats, assumedRole, batchDelay, clientEndpoint, clientFactory, clientRegion, discardAction, discardThreshold, internalLogger, lastRotationTimestamp, layout, messagesSinceLastRotation, rotationInterval, rotationMode, sequence, synchronous, threadFactory, truncateOversizeMessages, useShutdownHook, writer, writerFactory| Constructor and Description |
|---|
KinesisAppender() |
| Modifier and Type | Method and Description |
|---|---|
protected KinesisWriterConfig |
generateWriterConfig()
Called just before a writer is created, so that the subclass can
perform substitutions on the configuration.
|
String |
getPartitionKey()
Returns the
partitionKey configuration property. |
int |
getRetentionPeriod()
Returns the
retentionPeriod configuration property. |
int |
getShardCount()
Returns the
shardCount configuration property. |
String |
getStreamName()
Rturns the
streamName configuration property. |
boolean |
isAutoCreate()
Returns the
autoCreate configuration property. |
void |
setAutoCreate(boolean autoCreate)
Sets the
autoCreate configuration property. |
void |
setPartitionKey(String value)
Sets the
partitionKey configuration property. |
void |
setRetentionPeriod(int value)
Sets the
retentionPeriod configuration property. |
void |
setShardCount(int shardCount)
Sets the
shardCount configuration property. |
void |
setStreamName(String value)
Sets the
streamName configuration property. |
protected boolean |
shouldRotate(long now)
Determines whether the appender should rotate its writer.
|
append, getAppenderStatistics, getAssumedRole, getBatchDelay, getClientEndpoint, getClientFactory, getClientRegion, getDiscardAction, getDiscardThreshold, getRotationInterval, getRotationMode, getSequence, getSynchronous, getTruncateOversizeMessages, getUseShutdownHook, registerStatisticsBean, rotate, setAssumedRole, setBatchDelay, setClientEndpoint, setClientFactory, setClientRegion, setDiscardAction, setDiscardThreshold, setLayout, setName, setRotationInterval, setRotationMode, setSequence, setSynchronous, setTruncateOversizeMessages, setUseShutdownHook, start, stop, unregisterStatisticsBeanaddFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, toStringaddError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContextpublic void setStreamName(String value)
streamName configuration property.public String getStreamName()
streamName configuration property.public void setPartitionKey(String value)
partitionKey configuration property.public String getPartitionKey()
partitionKey configuration property.public void setAutoCreate(boolean autoCreate)
autoCreate configuration property.public boolean isAutoCreate()
autoCreate configuration property.public void setShardCount(int shardCount)
shardCount configuration property.public int getShardCount()
shardCount configuration property.public void setRetentionPeriod(int value)
retentionPeriod configuration property.public int getRetentionPeriod()
retentionPeriod configuration property.protected KinesisWriterConfig generateWriterConfig()
AbstractAppenderprotected boolean shouldRotate(long now)
AbstractAppenderCopyright © 2020. All rights reserved.