Author: dbkr
Date: 2008-01-24 20:13:15 +0000 (Thu, 24 Jan 2008)
New Revision: 17246

Modified:
   trunk/apps/Freemail/src/freemail/FreemailCli.java
   trunk/apps/Freemail/src/freemail/utils/Logger.java
Log:
Add config file interface to Logger to set log level.


Modified: trunk/apps/Freemail/src/freemail/FreemailCli.java
===================================================================
--- trunk/apps/Freemail/src/freemail/FreemailCli.java   2008-01-24 19:43:26 UTC 
(rev 17245)
+++ trunk/apps/Freemail/src/freemail/FreemailCli.java   2008-01-24 20:13:15 UTC 
(rev 17246)
@@ -31,6 +31,7 @@
 import freemail.fcp.FCPConnection;
 import freemail.imap.IMAPListener;
 import freemail.smtp.SMTPListener;
+import freemail.utils.Logger;
 import freemail.config.Configurator;
 //import freemail.config.ConfigClient;

@@ -90,6 +91,8 @@

                Configurator cfg = new Configurator(new File(cfgfile));

+               cfg.register("loglevel", new Logger(), "normal|error");
+               
                FCPContext fcpctx = new FCPContext();

                cfg.register("fcp_host", fcpctx, "localhost");

Modified: trunk/apps/Freemail/src/freemail/utils/Logger.java
===================================================================
--- trunk/apps/Freemail/src/freemail/utils/Logger.java  2008-01-24 19:43:26 UTC 
(rev 17245)
+++ trunk/apps/Freemail/src/freemail/utils/Logger.java  2008-01-24 20:13:15 UTC 
(rev 17246)
@@ -11,8 +11,10 @@

 import java.lang.NoClassDefFoundError;

-public class Logger {
+import freemail.config.ConfigClient;

+public class Logger implements ConfigClient {
+
        static final private int INTERNAL=1;
        static final private int DEBUG=2;
        static final private int MINOR=4;
@@ -24,7 +26,29 @@

        //static final private int loglevel=INTERNAL|DEBUG|MINOR|NORMAL|ERROR; 
// everything
        //static final private int loglevel=DEBUG|NORMAL|ERROR;
-       static final private int loglevel=NORMAL|ERROR; // should be ok for 
normal users
+       static private int loglevel=NORMAL|ERROR; // should be ok for normal 
users
+       
+       public void setConfigProp(String key, String val) {
+               if (key.equals("loglevel")) {
+                       String[] levels = val.split("\\s*\\|\\s*");
+                       
+                       loglevel = 0;
+                       
+                       for (int i = 0; i < levels.length; i++) {
+                               if (levels[i].equalsIgnoreCase("internal")) {
+                                       loglevel |= INTERNAL;
+                               } else if (levels[i].equalsIgnoreCase("debug")) 
{
+                                       loglevel |= DEBUG;
+                               } else if (levels[i].equalsIgnoreCase("minor")) 
{
+                                       loglevel |= MINOR;
+                               } else if 
(levels[i].equalsIgnoreCase("normal")){
+                                       loglevel |= NORMAL;
+                               } else if (levels[i].equalsIgnoreCase("error")){
+                                       loglevel |= ERROR;
+                               }
+                       }
+               }
+       }

        static private boolean useFreenetLogger()
        {


Reply via email to