Remove redundancy in Eclipse
[jalview.git] / src / jalview / bin / Cache.java
index 7f714e5..c88c92a 100755 (executable)
@@ -22,7 +22,10 @@ import java.io.*;
 \r
 import java.util.*;\r
 \r
-import java.net.*;\r
+import org.apache.log4j.Logger;\r
+import org.apache.log4j.SimpleLayout;\r
+import org.apache.log4j.Level;\r
+import org.apache.log4j.ConsoleAppender;\r
 \r
 \r
 /**\r
@@ -30,7 +33,7 @@ import java.net.*;
  * <br><br>Current properties include:\r
  * <br>logs.Axis.Level - one of the stringified Levels for log4j controlling the logging level for axis (used for web services)\r
  * <br>logs.Castor.Level - one of the stringified Levels for log4j controlling the logging level for castor (used for serialization)\r
- * <br>logs.Jalview.Level - Jalview.log stringified level.\r
+ * <br>logs.Jalview.Level - Cache.log stringified level.\r
  * <br>DISCOVERY_START - Boolean - controls if discovery services are queried on startup\r
  * <br>DISCOVERY_URLS - comma separated list of Discovery Service endpoints.\r
  * <br>SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_Y=285,SCREEN_X=371,SHOW_FULLSCREEN\r
@@ -43,6 +46,10 @@ import java.net.*;
  */\r
 public class Cache\r
 {\r
+  /**\r
+   * Initialises the Apache Axis logger\r
+   */\r
+  public static Logger log;\r
 \r
     /** Jalview Properties */\r
     public static Properties applicationProperties = new Properties();\r
@@ -50,6 +57,37 @@ public class Cache
     /** Default file is  ~/.jalview_properties */\r
     static String propertiesFile;\r
 \r
+    public static void initLogger()\r
+    {\r
+      try\r
+      {\r
+        Logger laxis = Logger.getLogger("org.apache.axis");\r
+        Logger lcastor = Logger.getLogger("org.exolab.castor");\r
+        jalview.bin.Cache.log = Logger.getLogger("jalview.bin.Jalview");\r
+\r
+        laxis.setLevel(Level.toLevel(Cache.getDefault("logs.Axis.Level",\r
+            Level.INFO.toString())));\r
+        lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",\r
+            Level.INFO.toString())));\r
+        jalview.bin.Cache.log.setLevel(Level.toLevel(Cache.getDefault(\r
+            "logs.Jalview.level",\r
+            Level.INFO.toString())));\r
+\r
+        ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),\r
+                                                 "System.err");\r
+        ap.setName("JalviewLogger");\r
+\r
+        laxis.addAppender(ap);\r
+        lcastor.addAppender(ap);\r
+        jalview.bin.Cache.log.addAppender(ap);\r
+      }\r
+      catch (Exception ex)\r
+      {\r
+      System.err.println("Problems initializing the log4j system\n");\r
+      }\r
+    }\r
+\r
+\r
     /** Called when Jalview is started */\r
     public static void loadProperties(String propsFile)\r
     {\r
@@ -117,6 +155,7 @@ public class Cache
 \r
         System.out.println("Jalview Version: "+codeVersion);\r
 \r
+\r
         // jnlpVersion will be null if we're using InstallAnywhere\r
         // Dont do this check if running in headless mode\r
         if(jnlpVersion==null && (\r
@@ -124,7 +163,6 @@ public class Cache
              || System.getProperty("java.awt.headless").equals("false")))\r
         {\r
 \r
-\r
           class VersionChecker\r
               extends Thread\r
           {\r
@@ -164,7 +202,10 @@ public class Cache
         }\r
         else\r
         {\r
-          setProperty("LATEST_VERSION", jnlpVersion);\r
+          if(jnlpVersion!=null)\r
+            setProperty("LATEST_VERSION", jnlpVersion);\r
+          else\r
+          applicationProperties.remove("LATEST_VERSION");\r
         }\r
 \r
         setProperty("VERSION", codeVersion);\r
@@ -237,7 +278,7 @@ public class Cache
             out.close();\r
         }\r
         catch (Exception ex)\r
-        {    }\r
+        {   System.out.println("Error setting property: "+key+" "+obj+"\n"+ex);   }\r
         return obj;\r
     }\r
 \r
@@ -250,6 +291,6 @@ public class Cache
             out.close();\r
         }\r
         catch (Exception ex)\r
-        {    }\r
+        {  System.out.println("Error saving properties: "+ex);  }\r
     }\r
 }\r