java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
is.codion.swing.common.ui.component.logging.LogLevelPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public final class LogLevelPanel extends JPanel
A UI panel for configuring logging levels for a set of loggers.

Displays a table with two columns:

  • Logger - The logger name (e.g., "is.codion.framework.db", "is.codion.swing.framework.ui")
  • Level - The effective log level, editable via combo box

The table shows all loggers provided by the LoggerProxy, plus any parent loggers in the hierarchy. For example, if the supplier provides "is.codion.framework.db.local", the table will also include parent loggers "is.codion.framework.db", "is.codion.framework", "is.codion", and "is", along with "ROOT". This allows configuration of logging at any level of the package hierarchy.

The Level column shows the effective level for each logger, which may be:

  • An explicitly configured level for that specific logger
  • A level inherited from the nearest parent logger with an explicit configuration
  • The ROOT logger level if no parent has an explicit configuration

Changes to log levels are applied immediately via LoggerProxy.setLogLevel(String, Object). When a logger's level is changed, child loggers that don't have explicit levels will automatically inherit the new level. The table refreshes after each change to reflect the current state of the logging system.

See Also: