Class Level

java.lang.Object
org.apache.logging.log4j.Level
All Implemented Interfaces:
Serializable, Comparable<Level>

public final class Level extends Object implements Comparable<Level>, Serializable
Levels used for identifying the severity of an event. Levels are organized from most specific to least:

Level names with description
Name Description
OFF No events will be logged.
FATAL A fatal event that will prevent the application from continuing.
ERROR An error in the application, possibly recoverable.
WARN An event that might possible lead to an error.
INFO An event for informational purposes.
DEBUG A general debugging event.
TRACE A fine-grained debug message, typically capturing the flow through the application.
ALL All events should be logged.

Typically, configuring a level in a filter or on a logger will cause logging events of that level and those that are more specific to pass through the filter. A special level, ALL, is guaranteed to capture all levels when used in logging configurations.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Level
    All events should be logged.
    static final String
    Category to be used by custom levels.
    static final Level
    A general debugging event.
    static final Level
    An error in the application, possibly recoverable.
    static final Level
    A fatal event that will prevent the application from continuing.
    static final Level
    An event for informational purposes.
    static final Level
    No events will be logged.
    static final Level
    A fine-grained debug message, typically capturing the flow through the application.
    static final Level
    An event that might possible lead to an error.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    int
     
    boolean
    equals(Object other)
     
    static Level
    forName(String name, int intValue)
    Retrieves an existing Level or creates on if it didn't previously exist.
     
    static Level
    Return the Level associated with the name or null if the Level cannot be found.
    Gets the standard Level values as an enum.
    int
     
    int
    Gets the integral value of this Level.
    boolean
    isInRange(Level minLevel, Level maxLevel)
    Compares this level against the levels passed as arguments and returns true if this level is in between the given levels.
    boolean
    Compares this level against the level passed as an argument and returns true if this level is the same or is less specific.
    boolean
    Compares this level against the level passed as an argument and returns true if this level is the same or is more specific.
    Gets the symbolic name of this Level.
    static Level
    toLevel(String level)
    Converts the string passed as argument to a level.
    static Level
    toLevel(String name, Level defaultLevel)
    Converts the string passed as argument to a level.
     
    static <T extends Enum<T>>
    T
    valueOf(Class<T> enumType, String name)
    Returns the enum constant of the specified enum type with the specified name.
    static Level
    Return the Level associated with the name.
    static Level[]
    Return an array of all the Levels that have been registered.

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • OFF

      public static final Level OFF
      No events will be logged.
    • FATAL

      public static final Level FATAL
      A fatal event that will prevent the application from continuing.
    • ERROR

      public static final Level ERROR
      An error in the application, possibly recoverable.
    • WARN

      public static final Level WARN
      An event that might possible lead to an error.
    • INFO

      public static final Level INFO
      An event for informational purposes.
    • DEBUG

      public static final Level DEBUG
      A general debugging event.
    • TRACE

      public static final Level TRACE
      A fine-grained debug message, typically capturing the flow through the application.
    • ALL

      public static final Level ALL
      All events should be logged.
    • CATEGORY

      public static final String CATEGORY
      Category to be used by custom levels.
      Since:
      2.1
      See Also:
  • Method Details

    • intLevel

      public int intLevel()
      Gets the integral value of this Level.
      Returns:
      the value of this Level.
    • getStandardLevel

      public StandardLevel getStandardLevel()
      Gets the standard Level values as an enum.
      Returns:
      an enum of the standard Levels.
    • isInRange

      public boolean isInRange(Level minLevel, Level maxLevel)
      Compares this level against the levels passed as arguments and returns true if this level is in between the given levels.
      Parameters:
      minLevel - The minimum level to test.
      maxLevel - The maximum level to test.
      Returns:
      True true if this level is in between the given levels
      Since:
      2.4
    • isLessSpecificThan

      public boolean isLessSpecificThan(Level level)
      Compares this level against the level passed as an argument and returns true if this level is the same or is less specific.

      Concretely, ALL is less specific than TRACE, which is less specific than DEBUG, which is less specific than INFO, which is less specific than WARN, which is less specific than ERROR, which is less specific than FATAL, and finally OFF, which is the most specific standard level.

      Parameters:
      level - The level to test.
      Returns:
      True if this level Level is less specific or the same as the given Level.
    • isMoreSpecificThan

      public boolean isMoreSpecificThan(Level level)
      Compares this level against the level passed as an argument and returns true if this level is the same or is more specific.

      Concretely, FATAL is more specific than ERROR, which is more specific than WARN, etc., until TRACE, and finally ALL, which is the least specific standard level. The most specific level is OFF.

      Parameters:
      level - The level to test.
      Returns:
      True if this level Level is more specific or the same as the given Level.
    • clone

      public Level clone() throws CloneNotSupportedException
      Overrides:
      clone in class Object
      Throws:
      CloneNotSupportedException
    • compareTo

      public int compareTo(Level other)
      Specified by:
      compareTo in interface Comparable<Level>
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getDeclaringClass

      public Class<Level> getDeclaringClass()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • name

      public String name()
      Gets the symbolic name of this Level. Equivalent to calling toString().
      Returns:
      the name of this Level.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • forName

      public static Level forName(String name, int intValue)
      Retrieves an existing Level or creates on if it didn't previously exist.
      Parameters:
      name - The name of the level.
      intValue - The integer value for the Level. If the level was previously created this value is ignored.
      Returns:
      The Level.
      Throws:
      IllegalArgumentException - if the name is null or intValue is less than zero.
    • getLevel

      public static Level getLevel(String name)
      Return the Level associated with the name or null if the Level cannot be found.
      Parameters:
      name - The name of the Level.
      Returns:
      The Level or null.
      Throws:
      IllegalArgumentException - if the name is null.
    • toLevel

      public static Level toLevel(String level)
      Converts the string passed as argument to a level. If the conversion fails, then this method returns DEBUG.
      Parameters:
      level - The name of the desired Level.
      Returns:
      The Level associated with the String.
    • toLevel

      public static Level toLevel(String name, Level defaultLevel)
      Converts the string passed as argument to a level. If the conversion fails, then this method returns the value of defaultLevel.
      Parameters:
      name - The name of the desired Level.
      defaultLevel - The Level to use if the String is invalid.
      Returns:
      The Level associated with the String.
    • values

      public static Level[] values()
      Return an array of all the Levels that have been registered.
      Returns:
      An array of Levels.
    • valueOf

      public static Level valueOf(String name)
      Return the Level associated with the name.
      Parameters:
      name - The name of the Level to return.
      Returns:
      The Level.
      Throws:
      NullPointerException - if the Level name is null.
      IllegalArgumentException - if the Level name is not registered.
    • valueOf

      public static <T extends Enum<T>> T valueOf(Class<T> enumType, String name)
      Returns the enum constant of the specified enum type with the specified name. The name must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Type Parameters:
      T - The enum type whose constant is to be returned
      Parameters:
      enumType - the Class object of the enum type from which to return a constant
      name - the name of the constant to return
      Returns:
      the enum constant of the specified enum type with the specified name
      Throws:
      IllegalArgumentException - if the specified enum type has no constant with the specified name, or the specified class object does not represent an enum type
      NullPointerException - if enumType or name are null
      See Also: