Class Constants

java.lang.Object
org.apache.logging.log4j.core.util.Constants

public final class Constants extends Object
Log4j Constants.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
    Kill switch for garbage-free Layout behaviour that encodes LogEvents directly into ByteBufferDestinations without creating intermediate temporary Objects.
    static final boolean
    Kill switch for object pooling in ThreadLocals that enables much of the LOG4J2-1270 no-GC behaviour.
    static final int
    Default size of ByteBuffers used to encode LogEvents without allocating temporary objects.
    static final int
    Size of CharBuffers used by text encoders.
    static final boolean
    Supports user request LOG4J2-898 to have the option to format a message in the background thread.
    static final boolean
    Deprecated.
    no longer used, lookups are only used when %m{lookups} is specified
    static final int
    Initial StringBuilder size used in RingBuffer LogEvents to store the contents of reusable Messages.
    static final boolean
    true if we think we are running in a web container, based on the boolean value of system property "log4j2.is.webapp", or (if this system property is not set) whether the javax.servlet.Servlet class is present in the classpath.
    static final String
    JNDI context name string literal.
    static final String
    Name of the system property to use to identify the ContextSelector Class.
    static final String
    Property name for the default status (internal log4j logging) level to use if not specified in configuration.
    static final String
    Name of the system property to use to identify the LogEvent factory.
    static final int
    Maximum size of the StringBuilders used in RingBuffer LogEvents to store the contents of reusable Messages.
    static final int
    Number of milliseconds in a second.
    static final String
    Control which script languages are allowed, if any.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Prevent class instantiation.
  • Method Summary

    Modifier and Type
    Method
    Description
    private static int
    size(String property, int defaultValue)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOG4J_LOG_EVENT_FACTORY

      public static final String LOG4J_LOG_EVENT_FACTORY
      Name of the system property to use to identify the LogEvent factory.
      See Also:
    • LOG4J_CONTEXT_SELECTOR

      public static final String LOG4J_CONTEXT_SELECTOR
      Name of the system property to use to identify the ContextSelector Class.
      See Also:
    • LOG4J_DEFAULT_STATUS_LEVEL

      public static final String LOG4J_DEFAULT_STATUS_LEVEL
      Property name for the default status (internal log4j logging) level to use if not specified in configuration.
      See Also:
    • JNDI_CONTEXT_NAME

      public static final String JNDI_CONTEXT_NAME
      JNDI context name string literal.
      See Also:
    • SCRIPT_LANGUAGES

      public static final String SCRIPT_LANGUAGES
      Control which script languages are allowed, if any.
      See Also:
    • MILLIS_IN_SECONDS

      public static final int MILLIS_IN_SECONDS
      Number of milliseconds in a second.
      See Also:
    • FORMAT_MESSAGES_IN_BACKGROUND

      public static final boolean FORMAT_MESSAGES_IN_BACKGROUND
      Supports user request LOG4J2-898 to have the option to format a message in the background thread.
    • FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS

      @Deprecated public static final boolean FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS
      Deprecated.
      no longer used, lookups are only used when %m{lookups} is specified
      LOG4J2-3198 property which used to globally opt out of lookups in pattern layout message text, however this is the default and this property is no longer read. Deprecated in 2.15.
      Since:
      2.10
    • IS_WEB_APP

      public static final boolean IS_WEB_APP
      true if we think we are running in a web container, based on the boolean value of system property "log4j2.is.webapp", or (if this system property is not set) whether the javax.servlet.Servlet class is present in the classpath.
    • ENABLE_THREADLOCALS

      public static final boolean ENABLE_THREADLOCALS
      Kill switch for object pooling in ThreadLocals that enables much of the LOG4J2-1270 no-GC behaviour.

      True for non-web apps, disable by setting system property "log4j2.enable.threadlocals" to "false".

      Since:
      2.6
    • ENABLE_DIRECT_ENCODERS

      public static final boolean ENABLE_DIRECT_ENCODERS
      Kill switch for garbage-free Layout behaviour that encodes LogEvents directly into ByteBufferDestinations without creating intermediate temporary Objects.

      True by default iff all loggers are asynchronous because system property Log4jContextSelector is set to org.apache.logging.log4j.core.async.AsyncLoggerContextSelector. Disable by setting system property "log4j2.enable.direct.encoders" to "false".

      Since:
      2.6
    • INITIAL_REUSABLE_MESSAGE_SIZE

      public static final int INITIAL_REUSABLE_MESSAGE_SIZE
      Initial StringBuilder size used in RingBuffer LogEvents to store the contents of reusable Messages.

      The default value is , users can override with system property "log4j.initialReusableMsgSize".

      Since:
      2.6
    • MAX_REUSABLE_MESSAGE_SIZE

      public static final int MAX_REUSABLE_MESSAGE_SIZE
      Maximum size of the StringBuilders used in RingBuffer LogEvents to store the contents of reusable Messages. After a large message has been delivered to the appenders, the StringBuilder is trimmed to this size.

      The default value is , which allows the StringBuilder to resize three times from its initial size. Users can override with system property "log4j.maxReusableMsgSize".

      Since:
      2.6
    • ENCODER_CHAR_BUFFER_SIZE

      public static final int ENCODER_CHAR_BUFFER_SIZE
      Size of CharBuffers used by text encoders.

      The default value is , users can override with system property "log4j.encoder.charBufferSize".

      Since:
      2.6
    • ENCODER_BYTE_BUFFER_SIZE

      public static final int ENCODER_BYTE_BUFFER_SIZE
      Default size of ByteBuffers used to encode LogEvents without allocating temporary objects.

      The default value is , users can override with system property "log4j.encoder.byteBufferSize".

      Since:
      2.6
      See Also:
  • Constructor Details

    • Constants

      private Constants()
      Prevent class instantiation.
  • Method Details

    • size

      private static int size(String property, int defaultValue)