From: Hendrik <nh...@us...> - 2009-09-07 00:44:07
|
Update of /cvsroot/arianne/marboard/src/net/sf/arianne/marboard/client/gui/dialog In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv2271/src/net/sf/arianne/marboard/client/gui/dialog Added Files: Log4jSwingAppender.java Log Message: added a log4j appender that will display dialog boxes (from SWT4-Mapedit written by nhnb and hereby relicensed) --- NEW FILE: Log4jSwingAppender.java --- package net.sf.arianne.marboard.client.gui.dialog; import javax.swing.*; import org.apache.log4j.*; import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.spi.LoggingEvent; /** * Schnittstelle zwischen Log4J und der Swing-Benutzungsoberflaeche. * * Diese Klasse erzeugt ein Dialogfelder, wenn ein Fehler geloggt wird. * TODO: Sollen Warnungs-Dialogfelder per Konfiguration abschaltbar sein? * TODO: Wie mit INFO umgehen? */ public class Log4jSwingAppender extends AppenderSkeleton { private static JFrame frame = null; // Hauptframe /** * Eltern-Fenster der Dialogfelder festlegen. * * @param frame ParentFrame der Dialogfelder */ public static void setMainFrame(JFrame mainFrame) { frame = mainFrame; } protected void append(LoggingEvent loggingEvent) { String message = loggingEvent.getRenderedMessage(); // TODO: Weitere Informationen if (Level.FATAL.equals(loggingEvent.getLevel()) || Level.ERROR.equals(loggingEvent.getLevel())) { JOptionPane.showMessageDialog(frame, message, "Error", JOptionPane.ERROR_MESSAGE); } else if (Level.WARN.equals(loggingEvent.getLevel())) { JOptionPane.showMessageDialog(frame, message, "Warning", JOptionPane.WARNING_MESSAGE); } else if (Level.INFO.equals(loggingEvent.getLevel())) { JOptionPane.showMessageDialog(frame, message); } } // Kein Layout erforderlich. public boolean requiresLayout() { return false; } public void close() { // Kein Stream vorhanden, der geschlossen werden muesste. } } |