Class ScriptMessage

java.lang.Object
org.apache.logging.log4j.message.StringFormattedMessage
ghidra.app.script.ScriptMessage
All Implemented Interfaces:
Serializable, org.apache.logging.log4j.message.Message

public class ScriptMessage extends org.apache.logging.log4j.message.StringFormattedMessage
A simple Message implementation that allows us to use the filtering capability of log4j. This class has a formatted and unformatted message. log4j writes the formatted message out. Our formatted message is the original message given to us. We use the unformatted message, in conjunction with a regex filter to allow for filtering such that the script log file only has script messages.

See log4j-appender-rolling-file-scripts.xml

NOTE: Message.getFormat() was deprecated in log4j 2.24.0, and the behavior of useRawMsg changed to only work with certain classes that implement the Message interface, such as StringFormattedMessage. Implementing our own Message resulted in useRawMsg not calling getFormat(). See logging-log4j2/pull/2773 for more info.

See Also:
  • Constructor Details

    • ScriptMessage

      public ScriptMessage(String message)
  • Method Details

    • getFormattedMessage

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

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

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

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