JAL-3949 An attempt at converting to Log4j 2 -- no output achieved!
[jalview.git] / src / jalview / bin / Cache.java
index bde6362..250f378 100755 (executable)
@@ -47,11 +47,9 @@ import java.util.regex.Pattern;
 import javax.swing.LookAndFeel;
 import javax.swing.UIManager;
 
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.builders.appender.ConsoleAppenderBuilder;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder;
 import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
@@ -68,6 +66,7 @@ import jalview.structure.StructureImportSettings;
 import jalview.urls.IdOrgSettings;
 import jalview.util.ChannelProperties;
 import jalview.util.ColorUtils;
+import jalview.util.Log4j;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 import jalview.ws.sifts.SiftsSettings;
@@ -335,30 +334,31 @@ public class Cache
     try
     {
       // configure the root logger to stderr
-      ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
-      AppenderComponentBuilder consoleApp = builder.newAppender("stderr", "Console");
+      ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory
+              .newConfigurationBuilder();
+      AppenderComponentBuilder consoleApp = builder.newAppender("stderr",
+              "Console");
       builder.add(consoleApp);
       Configurator.initialize(builder.build());
       // log output
-      Logger laxis = Logger.getLogger("org.apache.axis");
-      jalview.bin.Cache.log = Logger.getLogger("jalview.bin.Jalview");
+      Logger laxis = LogManager.getLogger("org.apache.axis");
+      log = LogManager.getLogger("jalview.bin.Jalview");
 
-      laxis.setLevel(Level.toLevel(
+      Log4j.setLevel(laxis, Level.toLevel(
               Cache.getDefault("logs.Axis.Level", Level.INFO.toString())));
       // lcastor = Logger.getLogger("org.exolab.castor.xml.Marshaller");
       // lcastor.setLevel(Level.toLevel(Cache.getDefault("logs.Castor.Level",
       // Level.INFO.toString())));
       // we shouldn't need to do this
-      org.apache.log4j.Logger.getRootLogger()
-              .setLevel(org.apache.log4j.Level.INFO);
+      Log4j.setRootLevel(Level.INFO);
 
-      jalview.bin.Cache.log.setLevel(Level.toLevel(Cache
+      Log4j.setLevel(log, Level.toLevel(Cache
               .getDefault("logs.Jalview.level", Level.INFO.toString())));
       // laxis.addAppender(ap);
       // lcastor.addAppender(ap);
       // jalview.bin.Cache.log.addAppender(ap);
       // Tell the user that debug is enabled
-      jalview.bin.Cache.log.debug(ChannelProperties.getProperty("app_name")
+      log.debug(ChannelProperties.getProperty("app_name")
               + " Debugging Output Follows.");
     } catch (Exception ex)
     {
@@ -368,8 +368,8 @@ public class Cache
   }
 
   /**
-   * Loads properties from the given properties file. Any existing properties are
-   * first cleared.
+   * Loads properties from the given properties file. Any existing properties
+   * are first cleared.
    */
   public static void loadProperties(String propsFile)
   {
@@ -708,10 +708,11 @@ public class Cache
   }
 
   /**
-   * Gets Jalview application property of given key. Returns null if key not found
+   * Gets Jalview application property of given key. Returns null if key not
+   * found
    * 
    * @param key
-   *              Name of property
+   *          Name of property
    * 
    * @return Property value
    */
@@ -727,8 +728,8 @@ public class Cache
   }
 
   /**
-   * These methods are used when checking if the saved preference is different to
-   * the default setting
+   * These methods are used when checking if the saved preference is different
+   * to the default setting
    */
 
   public static boolean getDefault(String property, boolean def)
@@ -761,8 +762,8 @@ public class Cache
   }
 
   /**
-   * Answers the value of the given property, or the supplied default value if the
-   * property is not set
+   * Answers the value of the given property, or the supplied default value if
+   * the property is not set
    */
   public static String getDefault(String property, String def)
   {
@@ -774,9 +775,9 @@ public class Cache
    * Stores property in the file "HOME_DIR/.jalview_properties"
    * 
    * @param key
-   *              Name of object
+   *          Name of object
    * @param obj
-   *              String value of property
+   *          String value of property
    * 
    * @return previous value of property (or null)
    */
@@ -849,14 +850,14 @@ public class Cache
         if (jalview.jbgui.GDesktop.class.getClassLoader()
                 .loadClass("uk.ac.vamsas.client.VorbaId") != null)
         {
-          jalview.bin.Cache.log.debug(
+          log.debug(
                   "Found Vamsas Classes (uk.ac..vamsas.client.VorbaId can be loaded)");
           vamsasJarsArePresent = 1;
-          Logger lvclient = Logger.getLogger("uk.ac.vamsas");
-          lvclient.setLevel(Level.toLevel(Cache
+          Logger lvclient = LogManager.getLogger("uk.ac.vamsas");
+          Log4j.setLevel(lvclient, Level.toLevel(Cache
                   .getDefault("logs.Vamsas.Level", Level.INFO.toString())));
 
-          lvclient.addAppender(log.getAppender("JalviewLogger"));
+          Log4j.addAppender(lvclient, log, "JalviewLogger");
           // Tell the user that debug is enabled
           lvclient.debug(ChannelProperties.getProperty("app_name")
                   + " Vamsas Client Debugging Output Follows.");
@@ -864,7 +865,7 @@ public class Cache
       } catch (Exception e)
       {
         vamsasJarsArePresent = 0;
-        jalview.bin.Cache.log.debug("Vamsas Classes are not present");
+        log.debug("Vamsas Classes are not present");
       }
     }
     return (vamsasJarsArePresent > 0);
@@ -889,14 +890,14 @@ public class Cache
         if (Cache.class.getClassLoader()
                 .loadClass("groovy.lang.GroovyObject") != null)
         {
-          jalview.bin.Cache.log.debug(
+          log.debug(
                   "Found Groovy (groovy.lang.GroovyObject can be loaded)");
           groovyJarsArePresent = 1;
-          Logger lgclient = Logger.getLogger("groovy");
-          lgclient.setLevel(Level.toLevel(Cache
+          Logger lgclient = LogManager.getLogger("groovy");
+          Log4j.setLevel(lgclient, Level.toLevel(Cache
                   .getDefault("logs.Groovy.Level", Level.INFO.toString())));
 
-          lgclient.addAppender(log.getAppender("JalviewLogger"));
+          Log4j.addAppender(lgclient, log, "JalviewLogger");
           // Tell the user that debug is enabled
           lgclient.debug(ChannelProperties.getProperty("app_name")
                   + " Groovy Client Debugging Output Follows.");
@@ -904,11 +905,11 @@ public class Cache
       } catch (Error e)
       {
         groovyJarsArePresent = 0;
-        jalview.bin.Cache.log.debug("Groovy Classes are not present", e);
+        log.debug("Groovy Classes are not present", e);
       } catch (Exception e)
       {
         groovyJarsArePresent = 0;
-        jalview.bin.Cache.log.debug("Groovy Classes are not present");
+        log.debug("Groovy Classes are not present");
       }
     }
     return (groovyJarsArePresent > 0);
@@ -1164,7 +1165,7 @@ public class Cache
    * Loads in user colour schemes from files.
    * 
    * @param files
-   *                a '|'-delimited list of file paths
+   *          a '|'-delimited list of file paths
    */
   public static void initUserColourSchemes(String files)
   {