# Interface PlatformLoggingMXBean

All Superinterfaces:
  `PlatformManagedObject`

public interface PlatformLoggingMXBean extends PlatformManagedObject
The management interface for the logging facility.

There is a single global instance of the `PlatformLoggingMXBean`. The `ManagementFactory.getPlatformMXBean` method can be used to obtain the `PlatformLoggingMXBean` object as follows:

         PlatformLoggingMXBean logging = ManagementFactory.getPlatformMXBean(PlatformLoggingMXBean.class);

The `PlatformLoggingMXBean` object is also registered with the platform MBeanServer. The `ObjectName` for uniquely identifying the `PlatformLoggingMXBean` within an MBeanServer is:

          java.util.logging:type=Logging

Since:
  1.7

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getLoggerLevel(String loggerName)`
  Gets the name of the log level associated with the specified logger.
  `List<String>`
  `getLoggerNames()`
  Returns the list of the currently registered logger names.
  `String`
  `getParentLoggerName(String loggerName)`
  Returns the name of the parent for the specified logger.
  `void`
  `setLoggerLevel(String loggerName, String levelName)`
  Sets the specified logger to the specified new level.

  ### Methods declared in interface java.lang.management.PlatformManagedObject

  `getObjectName`

- ## Method Details

  - ### getLoggerNames

    List<String> getLoggerNames()
    Returns the list of the currently registered logger names. This method calls `LogManager.getLoggerNames()` and returns a list of the logger names.
    Returns:
      A list of `String` each of which is a currently registered `Logger` name.

  - ### getLoggerLevel

    String getLoggerLevel(String loggerName)
    Gets the name of the log level associated with the specified logger. If the specified logger does not exist, `null` is returned. This method first finds the logger of the given name and then returns the name of the log level by calling:

    > `Logger.getLevel()`.`getName()`;

    If the `Level` of the specified logger is `null`, which means that this logger's effective level is inherited from its parent, an empty string will be returned.

    Parameters:
      `loggerName` - The name of the `Logger` to be retrieved.
    Returns:
      The name of the log level of the specified logger; or an empty string if the log level of the specified logger is `null`. If the specified logger does not exist, `null` is returned.
    See Also:
      - `Logger.getLevel()`

  - ### setLoggerLevel

    void setLoggerLevel(String loggerName, String levelName)
    Sets the specified logger to the specified new level. If the `levelName` is not `null`, the level of the specified logger is set to the parsed `Level` matching the `levelName`. If the `levelName` is `null`, the level of the specified logger is set to `null` and the effective level of the logger is inherited from its nearest ancestor with a specific (non-null) level value.
    Parameters:
      `loggerName` - The name of the `Logger` to be set. Must be non-null.
      `levelName` - The name of the level to set on the specified logger, or `null` if setting the level to inherit from its nearest ancestor.
    Throws:
      `IllegalArgumentException` - if the specified logger does not exist, or `levelName` is not a valid level name.
    See Also:
      - `Logger.setLevel(java.util.logging.Level)`

  - ### getParentLoggerName

    String getParentLoggerName(String loggerName)
    Returns the name of the parent for the specified logger. If the specified logger does not exist, `null` is returned. If the specified logger is the root `Logger` in the namespace, the result will be an empty string.
    Parameters:
      `loggerName` - The name of a `Logger`.
    Returns:
      the name of the nearest existing parent logger; an empty string if the specified logger is the root logger. If the specified logger does not exist, `null` is returned.