Author: jflesch
Date: 2007-09-22 14:04:22 +0000 (Sat, 22 Sep 2007)
New Revision: 15254

Modified:
   trunk/apps/Thaw/src/thaw/core/Core.java
   trunk/apps/Thaw/src/thaw/core/LogListener.java
   trunk/apps/Thaw/src/thaw/core/Logger.java
   trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
   trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
   trunk/apps/Thaw/src/thaw/plugins/StatusBar.java
   trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
Log:
Make it possible to change log level on the fly in the log console

Modified: trunk/apps/Thaw/src/thaw/core/Core.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Core.java     2007-09-22 13:39:13 UTC (rev 
15253)
+++ trunk/apps/Thaw/src/thaw/core/Core.java     2007-09-22 14:04:22 UTC (rev 
15254)
@@ -195,7 +195,7 @@
                        clientHello = new FCPClientHello(queryManager, 
config.getValue("thawId"));

                        if(!clientHello.start(null)) {
-                               Logger.warning(this, "Id already used !");
+                               Logger.warning(this, "Id already used or 
timeout !");
                                subDisconnect();
                                ret = false;
                        } else {

Modified: trunk/apps/Thaw/src/thaw/core/LogListener.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/LogListener.java      2007-09-22 13:39:13 UTC 
(rev 15253)
+++ trunk/apps/Thaw/src/thaw/core/LogListener.java      2007-09-22 14:04:22 UTC 
(rev 15254)
@@ -4,5 +4,6 @@
 public interface LogListener {

        public void newLogLine(int level, Object src, String line);
+       public void logLevelChanged(int oldLevel, int newLevel);

 }

Modified: trunk/apps/Thaw/src/thaw/core/Logger.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Logger.java   2007-09-22 13:39:13 UTC (rev 
15253)
+++ trunk/apps/Thaw/src/thaw/core/Logger.java   2007-09-22 14:04:22 UTC (rev 
15254)
@@ -9,8 +9,20 @@
  */
 public class Logger {

+       private static int LOG_LEVEL = 2;

-       /*
+
+       public final static String[] PREFIXES = new String[] {
+               "[ ERROR ]",
+               "[WARNING]",
+               "[NOTICE ]",
+               "[ INFO  ]",
+               "[ DEBUG ]",
+               "[VERBOSE]"
+       };
+
+
+       /**
         * 0 = Errors only
         * 1 = Errors + warnings
         * 2 = Errors + warnings + notices
@@ -19,22 +31,18 @@
         * 5 = [...] + horrible things that only God could understand easily.
         *             (or maybe someone with the FCPv2 specs :)
         *
-        * 2 or more is recommanded.
+        * 2 or more is recommended.
         * 4 or more is unhealthy
         */
-       public final static int LOG_LEVEL = 3;
+       public static void setLogLevel(int logLevel) {
+               Logger.notice(null, "Setting verbosity to 
"+Integer.toString(logLevel));
+               LOG_LEVEL = logLevel;
+       }

+       public static int getLogLevel() {
+               return LOG_LEVEL;
+       }

-       public final static String[] PREFIXES = new String[] {
-               "[ ERROR ]",
-               "[WARNING]",
-               "[NOTICE ]",
-               "[ INFO  ]",
-               "[ DEBUG ]",
-               "[VERBOSE]"
-       };
-
-
        private static Vector logListeners = null;



Modified: trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2007-09-22 13:39:13 UTC 
(rev 15253)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2007-09-22 14:04:22 UTC 
(rev 15254)
@@ -44,7 +44,6 @@
                }

                setMessageName(lines[i]);
-               Logger.info(this, "Message (Node >> Thaw): "+lines[i]);

                for(i++; i < lines.length ; i++) {
                        /* Empty lines are ignored. */
@@ -62,10 +61,15 @@
                        setValue(affectation[0], affectation[1]);
                }

-               if("ProtocolError".equals( getMessageName() )) {
+
+               if("ProtocolError".equals( getMessageName() ))
                        Logger.warning(this, "PROTOCOL ERROR:\n"+toString());
-               }
+               else if (Logger.getLogLevel() <= 3)
+                       Logger.info(this, "Message (Node >> Thaw): "+lines[i]);
+               else
+                       Logger.debug(this, "Message (Node >> Thaw): 
"+toString());

+
                return true;
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/LogConsole.java    2007-09-22 13:39:13 UTC 
(rev 15253)
+++ trunk/apps/Thaw/src/thaw/plugins/LogConsole.java    2007-09-22 14:04:22 UTC 
(rev 15254)
@@ -11,6 +11,7 @@
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTextArea;
+import javax.swing.JComboBox;

 import thaw.core.Core;
 import thaw.gui.FileChooser;
@@ -37,9 +38,22 @@
        private JScrollPane logAreaScrollPane;
        private JButton saveToFile;

+       private JComboBox logLevel;
+
        private boolean threadRunning;
        private boolean hasChanged;

+
+       public final static String[] LOG_LEVEL_NAMES = new String[] {
+               "Errors only",
+               "Errors and warnings",
+               "Errors to notices",
+               "Errors to infos",
+               "Errors to debugs",
+               "Errors to verboses"
+       };
+
+
        public LogConsole() {

        }
@@ -58,15 +72,27 @@

                logArea = new JTextArea();
                logArea.setEditable(false);
+
+
+               JPanel southPanel = new JPanel(new BorderLayout(5, 5));
+
+
+               logLevel = new JComboBox(LOG_LEVEL_NAMES);
+               updateLogLevel();
+               logLevel.addActionListener(this);
+               southPanel.add(logLevel, BorderLayout.WEST);
+
                saveToFile = new 
JButton(I18n.getMessage("thaw.plugin.console.saveToFile"));
-
                saveToFile.addActionListener(this);
+               southPanel.add(saveToFile, BorderLayout.CENTER);

+
                logAreaScrollPane = new JScrollPane(logArea);

                consolePanel.add(logAreaScrollPane, BorderLayout.CENTER);
-               consolePanel.add(saveToFile, BorderLayout.SOUTH);
+               consolePanel.add(southPanel, BorderLayout.SOUTH);

+
                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.console.console"),
                                            thaw.gui.IconBox.terminal, 
consolePanel);

@@ -91,8 +117,18 @@
        }


+       public void updateLogLevel() {
+               logLevel.setSelectedIndex(Logger.getLogLevel());
+       }
+
+
        public void actionPerformed(final ActionEvent e) {
-               if(e.getSource() == saveToFile) {
+               if (e.getSource() == logLevel) {
+
+                       if (Logger.getLogLevel() != 
logLevel.getSelectedIndex()) /* to avoid loops */
+                               Logger.setLogLevel(logLevel.getSelectedIndex());
+
+               } else if(e.getSource() == saveToFile) {
                        final FileChooser fileChooser = new FileChooser();

                        
fileChooser.setTitle(I18n.getMessage("thaw.plugin.console.console"));
@@ -146,7 +182,11 @@
                        addLine(Logger.PREFIXES[level] + " "+line+"\n");
        }

+       public void logLevelChanged(int oldLevel, int newLevel) {
+               updateLogLevel();
+       }

+
        public void addLine(String line) {
                buffer[writeOffset] = line;

@@ -190,8 +230,6 @@
                                }

                        });
-
-               
//logAreaScrollPane.getVerticalScrollBar().setValue(logAreaScrollPane.getVerticalScrollBar().getMaximum());
        }



Modified: trunk/apps/Thaw/src/thaw/plugins/StatusBar.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/StatusBar.java     2007-09-22 13:39:13 UTC 
(rev 15253)
+++ trunk/apps/Thaw/src/thaw/plugins/StatusBar.java     2007-09-22 14:04:22 UTC 
(rev 15254)
@@ -79,7 +79,9 @@
                }
        }

+       public void logLevelChanged(int oldLevel, int newLevel) { }

+
        public void updateStatusBar() {

                if (core.isReconnecting()) {

Modified: trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java      2007-09-22 13:39:13 UTC 
(rev 15253)
+++ trunk/apps/Thaw/src/thaw/plugins/TrayIcon.java      2007-09-22 14:04:22 UTC 
(rev 15254)
@@ -161,7 +161,9 @@
                popMessage("Thaw : "+Logger.PREFIXES[level], line, msgType);
        }

+       public void logLevelChanged(int oldLevel, int newLevel) { }

+
        public String getNameForUser() {
                return I18n.getMessage("thaw.plugin.trayIcon.pluginName");
        }


Reply via email to