Class PayloadContextMessage

java.lang.Object
de.galan.commons.logging.PayloadContextMessage
All Implemented Interfaces:
Serializable, org.apache.logging.log4j.message.Message

public class PayloadContextMessage extends Object implements org.apache.logging.log4j.message.Message
Log4j2 Message for Logger that support parameterized messages, using {} as placeholder, eg.:
info("Hello {}", "world"); // => "Hello {world}"
info("Hello {} {}", "beautiful", "world"); // => "Hello {beautiful} {world}"
error("Something failed: {}", ex, "do'h"); // => "Hello {beautiful} {world}"


If the parameters should be available as json-encoded metadata for eg. logstash, you can provide names to the parameters. Example:
info("Hello {location}", "world"); // ThreadContext will provide the json in a field called "payload"


You can omit the curly braces in the message by setting the environment-variable SAY_ENCLOSED to "false".
See Also:
  • Constructor Details

    • PayloadContextMessage

      public PayloadContextMessage(String messagePattern, Object[] argumentsObject)
    • PayloadContextMessage

      public PayloadContextMessage(String messagePattern, Object[] argumentsObject, Throwable throwable)
  • Method Details

    • parseMessage

      protected void parseMessage(String messagePattern)
    • argumentsToStrings

      protected String[] argumentsToStrings(Object[] argumentsObject)
    • getPatternAmountArguments

      protected int getPatternAmountArguments()
    • convertToString

      protected String convertToString(Object object)
    • getFormattedMessage

      public String getFormattedMessage()
      Specified by:
      getFormattedMessage in interface org.apache.logging.log4j.message.Message
    • getFormat

      public String getFormat()
      Specified by:
      getFormat in interface org.apache.logging.log4j.message.Message
    • getParameters

      public Object[] getParameters()
      Specified by:
      getParameters in interface org.apache.logging.log4j.message.Message
    • getThrowable

      public Throwable getThrowable()
      Specified by:
      getThrowable in interface org.apache.logging.log4j.message.Message