Class LogstashEncoder

All Implemented Interfaces:
Encoder<ILoggingEvent>, ContextAware, LifeCycle, StreamingEncoder<ILoggingEvent>

public class LogstashEncoder extends LoggingEventCompositeJsonEncoder
  • Constructor Details

    • LogstashEncoder

      public LogstashEncoder()
  • Method Details

    • createFormatter

      protected AbstractCompositeJsonFormatter<ILoggingEvent> createFormatter()
      Overrides:
      createFormatter in class LoggingEventCompositeJsonEncoder
    • getFormatter

      protected LogstashFormatter getFormatter()
      Overrides:
      getFormatter in class CompositeJsonEncoder<ILoggingEvent>
    • addProvider

      public void addProvider(JsonProvider<ILoggingEvent> provider)
    • isIncludeCallerData

      public boolean isIncludeCallerData()
    • setIncludeCallerData

      public void setIncludeCallerData(boolean includeCallerData)
    • setCustomFields

      public void setCustomFields(String customFields)
    • getCustomFields

      public String getCustomFields()
    • getFieldNames

      public LogstashFieldNames getFieldNames()
    • setFieldNames

      public void setFieldNames(LogstashFieldNames fieldNames)
    • getShortenedLoggerNameLength

      public int getShortenedLoggerNameLength()
    • setShortenedLoggerNameLength

      public void setShortenedLoggerNameLength(int length)
    • isIncludeMdc

      public boolean isIncludeMdc()
    • setIncludeMdc

      public void setIncludeMdc(boolean includeMdc)
    • getIncludeMdcKeyNames

      public List<String> getIncludeMdcKeyNames()
    • addIncludeMdcKeyName

      public void addIncludeMdcKeyName(String includedMdcKeyName)
    • setIncludeMdcKeyNames

      public void setIncludeMdcKeyNames(List<String> includeMdcKeyNames)
    • getExcludeMdcKeyNames

      public List<String> getExcludeMdcKeyNames()
    • addExcludeMdcKeyName

      public void addExcludeMdcKeyName(String excludedMdcKeyName)
    • setExcludeMdcKeyNames

      public void setExcludeMdcKeyNames(List<String> excludeMdcKeyNames)
    • addMdcKeyFieldName

      public void addMdcKeyFieldName(String mdcKeyFieldName)
    • isIncludeTags

      public boolean isIncludeTags()
    • setIncludeTags

      public void setIncludeTags(boolean includeTags)
    • isIncludeContext

      public boolean isIncludeContext()
    • setIncludeContext

      public void setIncludeContext(boolean includeContext)
    • isIncludeStructuredArguments

      public boolean isIncludeStructuredArguments()
    • setIncludeStructuredArguments

      public void setIncludeStructuredArguments(boolean includeStructuredArguments)
    • isIncludeNonStructuredArguments

      public boolean isIncludeNonStructuredArguments()
    • setIncludeNonStructuredArguments

      public void setIncludeNonStructuredArguments(boolean includeNonStructuredArguments)
    • getNonStructuredArgumentsFieldPrefix

      public String getNonStructuredArgumentsFieldPrefix()
    • setNonStructuredArgumentsFieldPrefix

      public void setNonStructuredArgumentsFieldPrefix(String nonStructuredArgumentsFieldPrefix)
    • getThrowableConverter

      public ThrowableHandlingConverter getThrowableConverter()
    • setThrowableConverter

      public void setThrowableConverter(ThrowableHandlingConverter throwableConverter)
    • getTimeZone

      public String getTimeZone()
    • setTimeZone

      public void setTimeZone(String timeZoneId)
    • getTimestampPattern

      public String getTimestampPattern()
    • setTimestampPattern

      public void setTimestampPattern(String pattern)
    • getVersion

      public String getVersion()
    • setVersion

      public void setVersion(String version)
    • isWriteVersionAsInteger

      public boolean isWriteVersionAsInteger()
    • setWriteVersionAsInteger

      public void setWriteVersionAsInteger(boolean writeVersionAsInteger)
    • getMessageSplitRegex

      public String getMessageSplitRegex()
      Write the message as a JSON array by splitting the message text using the specified regex.
      Returns:
      The regex used to split the message text
    • setMessageSplitRegex

      public void setMessageSplitRegex(String messageSplitRegex)
      Write the message as a JSON array by splitting the message text using the specified regex.

      The allowed values are:

      • Null/Empty : Disable message splitting. This is also the default behavior.
      • Any valid regex : Use the specified regex.
      • SYSTEM : Use the system-default line separator.
      • UNIX : Use \n.
      • WINDOWS : Use \r\n.

      For example, if this parameter is set to the regex #+, then the logging statement:

       log.info("First line##Second line###Third line")
       
      will produce:
       {
           ...
           "message": [
               "First line",
               "Second line",
               "Third line"
           ],
           ...
       }
       
      Parameters:
      messageSplitRegex - The regex used to split the message text
    • setProviders

      public void setProviders(JsonProviders<ILoggingEvent> jsonProviders)
      Overrides:
      setProviders in class LoggingEventCompositeJsonEncoder