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()
{