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;