Index: org/apache/jetspeed/services/logging/JetspeedLogFactoryService.java =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/services/logging/JetspeedLogFactoryService.java,v retrieving revision 1.1 diff -u -r1.1 JetspeedLogFactoryService.java --- org/apache/jetspeed/services/logging/JetspeedLogFactoryService.java 23 Jul 2003 20:24:25 -0000 1.1 +++ org/apache/jetspeed/services/logging/JetspeedLogFactoryService.java 24 Jul 2003 18:13:16 -0000 @@ -95,6 +95,11 @@ private static final String CONFIG_LOG4J_WATCHINTERVAL = "log4j.watchInterval"; private static final long CONFIG_LOG4J_WATCHINTERVAL_DEFAULT = 60000L; private ServletContext context; + /** + * Flag to check for initilization. Needed to make time of init more robust. + * Also, cannot access the init in parent class from static method + */ + private static boolean initDone = false; /** * Default constructor @@ -168,6 +173,7 @@ } } setInit(true); + initDone = true; } // init /** @@ -176,6 +182,25 @@ */ public static JetspeedLogger getLogger(String loggerName) { + // This test needed to ensure correct init sequence between this and services that log. + if (!initDone) + { + synchronized (JetspeedLogFactoryService.class) + { + if (!initDone) + { + try + { + new JetspeedLogFactoryService().init(); + } + catch(Exception e) + { + System.err.println("Init failed no logging available" + e.getMessage()); + e.printStackTrace(); + } + } + } + } Logger newLog = LogManager.getLogger(loggerName); JetspeedLogger newLogger = new JetspeedLogger(newLog); return newLogger;