You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2014/07/17 19:19:23 UTC

svn commit: r1611407 - in /uima/sandbox/uima-ducc/trunk: src/main/config/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/ uima-ducc-common/src/main/java/org/a...

Author: challngr
Date: Thu Jul 17 17:19:23 2014
New Revision: 1611407

URL: http://svn.apache.org/r1611407
Log:
UIMA-3949 Capture non-ducc log4j messages and append them to the correct component logger.

Modified:
    uima/sandbox/uima-ducc/trunk/src/main/config/log4j.xml
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/PropertiesFileManager.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLoggerComponents.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/IDuccLoggerComponents.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkReservation.java
    uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/history/HistoryPersistenceManager.java

Modified: uima/sandbox/uima-ducc/trunk/src/main/config/log4j.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/config/log4j.xml?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/config/log4j.xml (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/config/log4j.xml Thu Jul 17 17:19:23 2014
@@ -1,3 +1,4 @@
+
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!--
@@ -228,17 +229,21 @@
      <appender-ref ref="jderr" /> 
    </category>
 
-   <category name="org.springframework.beans.factory">
+   <category name="org.apache.activemq">
      <priority value="warn"/>
    </category>
-   
-   <category name="org.apache.camel.impl.converter">
-     <priority value="error"/>
+
+   <category name="org.springframework">
+     <priority value="warn"/>
    </category>
 
    <category name="org.apache.camel">
      <priority value="warn"/>
    </category>
+   
+   <category name="org.apache.camel.impl.converter">
+     <priority value="error"/>
+   </category>
 
    <category name="org.apache.uima.ducc.cli" additivity="false">
      <priority value="info"/>

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/component/AbstractDuccComponent.java Thu Jul 17 17:19:23 2014
@@ -88,6 +88,7 @@ public abstract class AbstractDuccCompon
         System.exit(1);
     }
     DuccService.setDuccLogger(logger);          // sets the global logger
+    logger.setAdditionalAppenders();           // add appenders to the non-ducc stuff in log4j.config
   }
 
   /**

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/PropertiesFileManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/PropertiesFileManager.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/PropertiesFileManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/persistence/PropertiesFileManager.java Thu Jul 17 17:19:23 2014
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.util.Properties;
 
 import org.apache.uima.ducc.common.internationalization.Messages;
+import org.apache.uima.ducc.common.main.DuccService;
 import org.apache.uima.ducc.common.utils.DuccLogger;
 import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
 
@@ -49,7 +50,8 @@ public class PropertiesFileManager imple
 	}
 	
 	public PropertiesFileManager(String componentId, String basedir, String propertiesFileName, boolean loadOnGet, boolean storeOnSet) {
-		this.logger = DuccLoggerComponents.makeLogger(PropertiesFileManager.class.getName(),componentId);
+		// this.logger = DuccLoggerComponents.makeLogger(PropertiesFileManager.class.getName(),componentId);
+		this.logger = DuccService.getDuccLogger();
 		this.basedir = basedir;
 		this.propertiesFileName = propertiesFileName;
 		this.loadOnGet = loadOnGet;

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java Thu Jul 17 17:19:23 2014
@@ -18,11 +18,15 @@
 */
 package org.apache.uima.ducc.common.utils;
 
+import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.List;
 import java.util.concurrent.LinkedBlockingQueue;
 
 import org.apache.log4j.Appender;
+import org.apache.log4j.Category;
 import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
 import org.apache.log4j.Logger;
 import org.apache.log4j.MDC;
 import org.apache.log4j.spi.ErrorHandler;
@@ -31,6 +35,11 @@ import org.apache.uima.Internationalized
 import org.apache.uima.ducc.common.utils.id.DuccId;
 
 
+//
+// Note: there are some System.out.printlns here for debugging purposes.  These things will only
+// be invoked during boot of the ducc component and are invaluable for debug when we use
+// ducc.py so they are left here intentionally.
+//
 public class DuccLogger
 {
     private Logger logger;
@@ -40,6 +49,9 @@ public class DuccLogger
     private static LinkedBlockingQueue<DuccLoggingEvent> events = null;
     private static boolean threaded = false;
 
+    private final static String DEFAULT_COMPONENT = "DUCC";
+    private static List<Logger> nonDuccLoggers = new ArrayList<Logger>();
+
     static protected void initLogger()
     {
         if ( log_thread == null ) {
@@ -84,7 +96,17 @@ public class DuccLogger
         if ( component == null ) {
             component = (String) MDC.get("COMPONENT");
             if ( component == null ) {
-                component = "DUCC";
+                component = DEFAULT_COMPONENT;
+            }
+            Enumeration all_loggers = LogManager.getCurrentLoggers();
+            while (all_loggers.hasMoreElements() ) {
+                Logger l = (Logger) all_loggers.nextElement();
+                String n = l.getName();
+                System.out.println(" ===> Configured loggers " + n);
+                if ( ! n.startsWith("org.apache.uima.ducc" ) ) {
+                    System.out.println("      Special logger: " + n);
+                    nonDuccLoggers.add(l);
+                }
             }
         }
 
@@ -115,7 +137,50 @@ public class DuccLogger
     {
         this(claz, null);
     }
-    
+
+    public boolean isDefaultLogger()
+    {
+        return this.component.equals(DEFAULT_COMPONENT);
+    }
+
+    public void setAdditionalAppenders()
+    {
+        // if ( true) return;
+    	System.out.println("============ Looking for appenders -----------");
+        if ( isDefaultLogger() ) {
+            System.out.println(" ---> Skipping appender search for default component");
+            return;
+        }
+
+        Category l = logger;
+        List<Appender> appenders= new ArrayList<Appender>();
+        while ( l != null ) {
+        	Enumeration apps = l.getAllAppenders();                        
+            if ( apps.hasMoreElements() ) {
+                
+                while (apps.hasMoreElements() ) {
+                    Appender app = (Appender) apps.nextElement();
+                    appenders.add(app);
+                    if ( l.getName().startsWith("org.apache.uima.ducc") ) {
+                        System.out.println(" ---> Found appender " + app.getName() + " on logger " + l.getName());
+                        for ( Logger ll : nonDuccLoggers ) {     // put the appender on the non-Ducc logger
+                            System.out.println(" ---> Add appender " + app.getName() + " to logger " + ll.getName());
+                            ll.addAppender(app);
+                        }
+                    } else {
+                        System.out.println(" ---> Skipping non-DUCC appender " + app.getName() + " on logger " + l.getName());
+                    }
+                }
+
+                break;
+            } else {
+                System.out.println(" ---> No appenders on logger " + l.getName());
+                l = l.getParent();
+            }
+        }
+
+    }
+
     public String getComponent() {
     	return component;
     }

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLoggerComponents.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLoggerComponents.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLoggerComponents.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLoggerComponents.java Thu Jul 17 17:19:23 2014
@@ -44,15 +44,15 @@ public class DuccLoggerComponents implem
         return makeLogger(claz, abbrv_orchestrator);
     }
 	
-	static public DuccLogger getTrLogger(String claz)
-    {
-        return makeLogger(claz, abbrv_transport);
-    }
+//	static public DuccLogger getTrLogger(String claz)
+//    {
+//        return makeLogger(claz, abbrv_transport);
+//    }
 	
-	static public DuccLogger getSmLogger(String claz)
-    {
-        return makeLogger(claz, abbrv_servicesManager);
-    }
+// 	static public DuccLogger getSmLogger(String claz)
+//     {
+//         return makeLogger(claz, abbrv_servicesManager);
+//     }
 	
 	static public DuccLogger getWsLogger(String claz)
     {

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/IDuccLoggerComponents.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/IDuccLoggerComponents.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/IDuccLoggerComponents.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/IDuccLoggerComponents.java Thu Jul 17 17:19:23 2014
@@ -23,7 +23,7 @@ public interface IDuccLoggerComponents {
 	public final String abbrv_jobDriver = "JD";
 	public final String abbrv_db = "DB";
 	public final String abbrv_orchestrator = "OR";
-	public final String abbrv_transport = "TR";
+	//public final String abbrv_transport = "TR";
 	public final String abbrv_servicesManager = "SM";
 	public final String abbrv_webServer = "WS";
 	

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkReservation.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkReservation.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkReservation.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/DuccWorkReservation.java Thu Jul 17 17:19:23 2014
@@ -21,8 +21,8 @@ package org.apache.uima.ducc.transport.e
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.uima.ducc.common.main.DuccService;
 import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.transport.event.common.IDuccCompletionType.ReservationCompletionType;
 import org.apache.uima.ducc.transport.event.common.IDuccState.ReservationState;
@@ -35,7 +35,8 @@ public class DuccWorkReservation extends
 	 */
 	private static final long serialVersionUID = 1L;
 
-	private static final DuccLogger logger = DuccLoggerComponents.getOrLogger(DuccWorkReservation.class.getName());
+	// private static final DuccLogger logger = DuccLoggerComponents.getOrLogger(DuccWorkReservation.class.getName());
+	private static final DuccLogger logger = DuccService.getDuccLogger();
 	
 	private IDuccReservationMap duccReservationMap = new DuccReservationMap();
 	

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/history/HistoryPersistenceManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/history/HistoryPersistenceManager.java?rev=1611407&r1=1611406&r2=1611407&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/history/HistoryPersistenceManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-transport/src/main/java/org/apache/uima/ducc/transport/event/common/history/HistoryPersistenceManager.java Thu Jul 17 17:19:23 2014
@@ -28,8 +28,8 @@ import java.util.ArrayList;
 import java.util.ListIterator;
 
 import org.apache.uima.ducc.common.IDuccEnv;
+import org.apache.uima.ducc.common.main.DuccService;
 import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.DuccLoggerComponents;
 import org.apache.uima.ducc.common.utils.IOHelper;
 import org.apache.uima.ducc.common.utils.Utils;
 import org.apache.uima.ducc.common.utils.id.DuccId;
@@ -46,7 +46,8 @@ public class HistoryPersistenceManager i
 		return instance;
 	}
 	
-	private static final DuccLogger logger = DuccLoggerComponents.getTrLogger(HistoryPersistenceManager.class.getName());
+	// private static final DuccLogger logger = DuccLoggerComponents.getTrLogger(HistoryPersistenceManager.class.getName());
+	private static final DuccLogger logger = DuccService.getDuccLogger();
 	
 	private String historyDirectory_jobs = IDuccEnv.DUCC_HISTORY_JOBS_DIR;
 	private String historyDirectory_reservations = IDuccEnv.DUCC_HISTORY_RESERVATIONS_DIR;