schmitzm.swing.log4j
Class LoggerFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by schmitzm.swing.log4j.LoggerFrame
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class LoggerFrame
extends JFrame

Diese Klasse stellt ein Fenster dar, in dem die aktuell im LogManager registrierten Log4j-Logger als Tabelle dargestellt sind.

  1. Logger-Name
  2. Level
  3. Additivitaet (ob rekursiv auch die Vater-Appender ausgefuehrt werden)
  4. Dateinamen der FileAppender, "CONSOLE" fuer ConsoleAppender
Ueber einen Refresh-Button kann die Tabelle jederzeit aktualisiert werden. Es koennen keine Logger hinzugefuegt oder entfernt werden. Veraendert werden koennen die Logger nur hinsichtlich ihres Levels und ihrer Addititvitaet.
Die Eingabe-Maske bietet jedoch die Moeglichkeit, eine Logger-Konfiguration aus einer Log4j-Konfigurationsdatei (neu) zu laden.
Beachte:
Beim Neu-Laden werden lediglich die explizit in der Datei spezifizierten Logger-Konfigurationen aktualisiert. Vom der Applikation erzeugte Logger bleiben erhalten (und koennen auch nicht mehr geloescht werden)! Ebenso bleiben alle Logger-Properties unveraendert erhalten, die nicht explizit in der Konfigurationsdatei angegeben sind. Wird z.B. die Additivitaet eines Loggers in der Datei nicht gesetzt, wird sie beim ersten Einlesen per Default auf true gesetzt. Wird sie durch den Anwender abgeaendert, bleibt diese Einstellung erhalten, auch wenn die Datei neu eingelesen wird.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
LoggerConfigurationTableModel, Logger, LogManager, PropertyConfigurator#configure(String), Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  FileInputOption configFileField
          Eingabe-Feld fuer die Log4j-Konfigurationsdatei.
protected  JTable loggerTable
          Tabelle, in der die Logger angezeigt werden.
protected  LoggerConfigurationTableModel loggerTableModel
          Datenbasis fuer die Logger-Tabelle.
protected  JButton refreshButton
          Butten, ueber den die Logger-Tabelle aktualisiert wird.
protected  JButton reloadButton
          Butten, ueber den die Log4j-Konfigurationsdatei neu geladen wird.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
LoggerFrame()
          Erzeugt ein neues Fenster.
LoggerFrame(File file)
          Erzeugt ein neues Fenster.
 
Method Summary
 String getStringFromAppenders(Enumeration<Appender> appenders)
          Liefert einen String, der die Appender eines Loggers darstellt.
protected  void initGUI()
          Initialisiert das Fenster-Layout.
 void refresh()
          Aktualisiert die Logger-Tabelle auf Basis der aktuelle geladenen Log4j-Logger.
 void reload()
          Aktualisiert die Logger auf Basis der Konfigurationsdatei.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

configFileField

protected FileInputOption configFileField
Eingabe-Feld fuer die Log4j-Konfigurationsdatei.


reloadButton

protected JButton reloadButton
Butten, ueber den die Log4j-Konfigurationsdatei neu geladen wird.

See Also:
reload()

refreshButton

protected JButton refreshButton
Butten, ueber den die Logger-Tabelle aktualisiert wird.

See Also:
refresh()

loggerTable

protected JTable loggerTable
Tabelle, in der die Logger angezeigt werden.

See Also:
loggerTableModel

loggerTableModel

protected LoggerConfigurationTableModel loggerTableModel
Datenbasis fuer die Logger-Tabelle.

Constructor Detail

LoggerFrame

public LoggerFrame(File file)
Erzeugt ein neues Fenster.

Parameters:
file - vorgeblendete Log4j-Konfigurationsdatei

LoggerFrame

public LoggerFrame()
Erzeugt ein neues Fenster.

Method Detail

initGUI

protected void initGUI()
Initialisiert das Fenster-Layout.


reload

public void reload()
Aktualisiert die Logger auf Basis der Konfigurationsdatei. Dies entspricht der Aktion des Reload-Button.


refresh

public void refresh()
Aktualisiert die Logger-Tabelle auf Basis der aktuelle geladenen Log4j-Logger. Dies entspricht der Aktion des Refresh-Button.

See Also:
LoggerConfigurationTableModel.refresh()

getStringFromAppenders

public String getStringFromAppenders(Enumeration<Appender> appenders)
Liefert einen String, der die Appender eines Loggers darstellt. Sub-Klassen koennen diese Methode ueberschreiben, um auch andere Appender-Arten darzustellen.

Parameters:
appenders - Appender-Liste