Class LoggingEventFieldResolver

java.lang.Object
org.apache.log4j.spi.LoggingEventFieldResolver

public final class LoggingEventFieldResolver extends Object
A singleton helper utility which accepts a field name and a LoggingEvent and returns the value of that field. This class defines a grammar used in creation of an expression-based Rule. The only available method is Object getField(String fieldName, LoggingEvent event). Here is a description of the mapping of field names in the grammar to fields on the logging event. While the getField method returns an Object, the individual types returned per field are described here: Field Name Field value (String representation Return type LOGGER category name (logger) String LEVEL level Level CLASS locationInformation's class name String FILE locationInformation's file name String LINE locationInformation's line number String METHOD locationInformation's method name String MSG message Object NDC NDC String EXCEPTION throwable string representation ThrowableInformation TIMESTAMP timestamp Long THREAD thread String PROP.keyName entry in the Property hashtable String mapped to the key [keyName] NOTE: the values for the 'keyName' portion of the MDC and PROP mappings must be an exact match to the key in the hashTable (case sensitive). If the passed-in field is null or doesn't match an entry in the above-described mapping, an exception is thrown.
  • Field Details

  • Constructor Details

    • LoggingEventFieldResolver

      private LoggingEventFieldResolver()
      Create new instance.
  • Method Details

    • applyFields

      public String applyFields(String replaceText, org.apache.log4j.spi.LoggingEvent event)
      Apply fields.
      Parameters:
      replaceText - replacement text.
      event - logging event.
      Returns:
      evaluted expression
    • getInstance

      public static LoggingEventFieldResolver getInstance()
      Get singleton instance.
      Returns:
      singleton instance
    • isField

      public boolean isField(String fieldName)
      Determines if specified string is a recognized field.
      Parameters:
      fieldName - field name
      Returns:
      true if recognized field.
    • getValue

      public Object getValue(String fieldName, org.apache.log4j.spi.LoggingEvent event)
      Get value of field.
      Parameters:
      fieldName - field
      event - event
      Returns:
      value of field
    • getExceptionMessage

      private static String getExceptionMessage(String[] exception)
      Get message from throwable representation.
      Parameters:
      exception - exception
      Returns:
      message