Class 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"

    See Also:
    Serialized Form
    • Constructor Detail

      • PayloadContextMessage

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

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

      • 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