parsing logfile settings and initing logger
authorerickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Sun, 16 Dec 2007 20:00:28 +0000 (20:00 +0000)
committererickson <erickson@9efc2488-bf62-4759-914b-345cdb29e865>
Sun, 16 Dec 2007 20:00:28 +0000 (20:00 +0000)
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1176 9efc2488-bf62-4759-914b-345cdb29e865

src/java/org/opensrf/Sys.java

index fd2fcc6..77cf4f7 100644 (file)
@@ -9,6 +9,20 @@ import java.net.InetAddress;
 
 public class Sys {
 
+    private static void initLogger(Config config) {
+        if(Logger.instance() == null) {
+            try {
+                String logFile = config.getString("/logfile");
+                int logLevel = config.getInt("/loglevel");
+                Logger.init( (short) config.getInt("/loglevel"), new FileLogger(logFile));
+                /** add syslog support... */
+            } catch(Exception e) {
+                /* by default, log to stderr at WARN level */
+                Logger.init(Logger.WARN, new Logger()); 
+            }
+        }
+    }
+
     /**
      * Connects to the OpenSRF network so that client sessions may communicate.
      * @param configFile The OpenSRF config file 
@@ -19,8 +33,6 @@ public class Sys {
     public static void bootstrapClient(String configFile, String configContext) 
             throws ConfigException, SessionException  {
 
-        if(Logger.instance() == null) /* provide a sane default logger */
-            Logger.init(Logger.WARN, new Logger()); 
 
         /** see if the current thread already has a connection */
         XMPPSession existing = XMPPSession.getThreadSession();
@@ -32,6 +44,8 @@ public class Sys {
         config.parse(configFile);
         Config.setConfig(config); /* set this as the global config */
 
+        initLogger(config);
+
         /** Collect the network connection info from the config */
         String username = config.getString("/username");
         String passwd = config.getString("/passwd");
@@ -48,6 +62,7 @@ public class Sys {
             + "_t"+ Thread.currentThread().getId();
 
 
+
         try {
 
             /** Connect to the Jabber network */