public abstract class AbstractStringLayout extends AbstractLayout<String> implements StringLayout
Since 2.4.1, this class has custom logic to convert ISO-8859-1 or US-ASCII Strings to byte[] arrays to improve performance: all characters are simply cast to bytes.
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractStringLayout.Builder<B extends AbstractStringLayout.Builder<B>> |
static interface |
AbstractStringLayout.Serializer |
static interface |
AbstractStringLayout.Serializer2
Variation of
AbstractStringLayout.Serializer that avoids allocating temporary objects. |
| Modifier and Type | Field and Description |
|---|---|
protected static int |
DEFAULT_STRING_BUILDER_SIZE
Default length for new StringBuilder instances: 1024 .
|
protected static int |
MAX_STRING_BUILDER_SIZE |
configuration, eventCount, footer, header, LOGGERELEMENT_TYPE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractStringLayout(Charset charset) |
protected |
AbstractStringLayout(Charset aCharset,
byte[] header,
byte[] footer)
Builds a new layout.
|
protected |
AbstractStringLayout(Configuration config,
Charset aCharset,
AbstractStringLayout.Serializer headerSerializer,
AbstractStringLayout.Serializer footerSerializer)
Builds a new layout.
|
| Modifier and Type | Method and Description |
|---|---|
protected byte[] |
getBytes(String s) |
Charset |
getCharset()
Gets the Charset this layout uses to encode Strings into bytes.
|
String |
getContentType()
Returns the content type output by this layout.
|
byte[] |
getFooter()
Returns the footer, if one is available.
|
AbstractStringLayout.Serializer |
getFooterSerializer() |
byte[] |
getHeader()
Returns the header, if one is available.
|
AbstractStringLayout.Serializer |
getHeaderSerializer() |
protected static StringBuilder |
getStringBuilder()
Returns a
StringBuilder that this Layout implementation can use to write the formatted log event to. |
protected Encoder<StringBuilder> |
getStringBuilderEncoder()
Returns a
Encoder<StringBuilder> that this Layout implementation can use for encoding log events. |
protected byte[] |
serializeToBytes(AbstractStringLayout.Serializer serializer,
byte[] defaultValue) |
protected String |
serializeToString(AbstractStringLayout.Serializer serializer) |
byte[] |
toByteArray(LogEvent event)
Formats the Log Event as a byte array.
|
protected static void |
trimToMaxSize(StringBuilder stringBuilder) |
encode, getConfiguration, getContentFormat, markEvent, writeToclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetContentFormat, toSerializableprotected static final int DEFAULT_STRING_BUILDER_SIZE
protected static final int MAX_STRING_BUILDER_SIZE
protected AbstractStringLayout(Charset charset)
protected AbstractStringLayout(Charset aCharset, byte[] header, byte[] footer)
aCharset - the charset used to encode the header bytes, footer bytes and anything else that needs to be
converted from strings to bytes.header - the header bytesfooter - the footer bytesprotected AbstractStringLayout(Configuration config, Charset aCharset, AbstractStringLayout.Serializer headerSerializer, AbstractStringLayout.Serializer footerSerializer)
config - the configurationaCharset - the charset used to encode the header bytes, footer bytes and anything else that needs to be
converted from strings to bytes.headerSerializer - the header bytes serializerfooterSerializer - the footer bytes serializerprotected static StringBuilder getStringBuilder()
StringBuilder that this Layout implementation can use to write the formatted log event to.StringBuilderprotected static void trimToMaxSize(StringBuilder stringBuilder)
protected byte[] getBytes(String s)
public Charset getCharset()
StringLayoutgetCharset in interface StringLayoutpublic String getContentType()
LayoutgetContentType in interface Layout<String>public byte[] getFooter()
public AbstractStringLayout.Serializer getFooterSerializer()
public byte[] getHeader()
public AbstractStringLayout.Serializer getHeaderSerializer()
protected Encoder<StringBuilder> getStringBuilderEncoder()
Encoder<StringBuilder> that this Layout implementation can use for encoding log events.Encoder<StringBuilder>protected byte[] serializeToBytes(AbstractStringLayout.Serializer serializer, byte[] defaultValue)
protected String serializeToString(AbstractStringLayout.Serializer serializer)
public byte[] toByteArray(LogEvent event)
toByteArray in interface Layout<String>event - The Log Event.Copyright © 1999-2017. 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.