You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2019/08/07 21:29:12 UTC

svn commit: r1864671 - in /uima/uima-ducc/trunk: src/main/admin/ src/main/resources/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/ uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/ uima-ducc-web/src/main/java/org/apac...

Author: burn
Date: Wed Aug  7 21:29:12 2019
New Revision: 1864671

URL: http://svn.apache.org/viewvc?rev=1864671&view=rev
Log:
UIMA-6109 Daemons log all classes to their log file; use a separate config file for users JD & JP logs

Added:
    uima/uima-ducc/trunk/src/main/resources/user-log4j.xml   (with props)
Modified:
    uima/uima-ducc/trunk/src/main/admin/ducc_util.py
    uima/uima-ducc/trunk/src/main/resources/log4j.xml
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java
    uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
    uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java
    uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServerHelper.java

Modified: uima/uima-ducc/trunk/src/main/admin/ducc_util.py
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/admin/ducc_util.py?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/admin/ducc_util.py (original)
+++ uima/uima-ducc/trunk/src/main/admin/ducc_util.py Wed Aug  7 21:29:12 2019
@@ -1425,6 +1425,8 @@ class DuccUtil(DuccBase):
                 head_ip = ducc_head
             else:
                 head_ip = self.get_ip_address(ducc_head)
+            # Check if "reliable" ... i.e. ducc.head is the virtual ip in the keepalived conf file
+            # If so check if this node is connected to the virtual ip   
             if(self.is_reliable_eligible(head_ip)):
                 text = 'cmd: ', '/sbin/ip', 'addr', 'list'
                 debug(label, text)
@@ -1560,11 +1562,10 @@ class DuccUtil(DuccBase):
         if(manage_database):
             dir_db_state = self.DUCC_HOME + '/state/database/'+dbhost
             self.makedirs(dir_db_state)
-            dir_db_logs = self.DUCC_HOME + '/logs/database/'+dbhost
+            self.db_pidfile = dir_db_state+ '/cassandra.pid'
+            dir_db_logs = self.DUCC_HOME + '/logs'
             self.makedirs(dir_db_logs)
-
-        self.db_pidfile = dir_db_state+ '/cassandra.pid'
-        self.db_logfile = dir_db_logs + '/cassandra.console'
+            self.db_logfile = dir_db_logs + '/' + dbhost + '.cassandra.console'
         
         self.pid_file_agents  = self.DUCC_HOME + '/state/agents/ducc.pids'
         self.pid_file_daemons  = self.DUCC_HOME + '/state/daemons/'+self.get_node_name()+'/ducc.pids'

Modified: uima/uima-ducc/trunk/src/main/resources/log4j.xml
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/resources/log4j.xml?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/src/main/resources/log4j.xml (original)
+++ uima/uima-ducc/trunk/src/main/resources/log4j.xml Wed Aug  7 21:29:12 2019
@@ -29,13 +29,6 @@
     </layout> 
   </appender> 
   
-  <appender name="3rd-party" class="org.apache.log4j.ConsoleAppender"> 
-    <param name="Target" value="System.out"/> 
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %c{1} - J[%X{JID}] T[%X{TID}] %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-  
   <appender name="jd-log" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Target" value="System.out"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
@@ -59,7 +52,7 @@
   
   <appender name="system-events-log" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
     <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/system-events.log"/>
+    <param name="file" value="${DUCC_HOME}/logs/${DUCC_NODENAME}.system-events.log"/>
     <param name="maxBackupIndex" value="5" />
     <param name="maxFileSize" value="10MB" />
     <layout class="org.apache.log4j.PatternLayout"> 
@@ -67,66 +60,17 @@
     </layout> 
   </appender> 
   
-  <appender name="rmlog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/rm.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1}- %X{JID} %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-  
-  <appender name="orlog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/or.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - %X{JID} %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-  
-  <appender name="smlog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
+  <!-- This should be used by all daemons -->
+  <appender name="ducc-log" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
     <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/sm.log"/>
+    <param name="file" value="${DUCC_HOME}/logs/${DUCC_NODENAME}.${ducc.deploy.components}.log"/>
     <param name="maxBackupIndex" value="5" />
     <param name="maxFileSize" value="10MB" />
     <layout class="org.apache.log4j.PatternLayout"> 
       <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - %X{JID} T[%X{TID}] %X{METHOD} %m%n"/> 
     </layout> 
   </appender> 
-
-  <appender name="pmlog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/pm.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - %X{JID} %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-
-  <appender name="wslog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/daemons/${DUCC_NODENAME}/ws.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - %X{JID} %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-  
-  <appender name="jdout" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${ducc.process.log.dir}/jd.out.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - T[%X{TID}] %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-  
+    
   <appender name="jderr" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
     <param name="append" value="true"/>
     <param name="file" value="${ducc.process.log.dir}/jd.err.log"/>
@@ -137,19 +81,9 @@
     </layout> 
   </appender> 
 
-  <appender name="agentlog" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
-    <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/agents/${DUCC_NODENAME}.${ducc.deploy.components}.log"/>
-    <param name="maxBackupIndex" value="5" />
-    <param name="maxFileSize" value="10MB" />
-    <layout class="org.apache.log4j.PatternLayout"> 
-      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - J[%X{JID}] T[%X{TID}] %X{METHOD} %m%n"/> 
-    </layout> 
-  </appender> 
-
   <appender name="db-loader-log" class="org.apache.uima.ducc.common.utils.DeferredOpenRollingAppender"> 
     <param name="append" value="true"/>
-    <param name="file" value="${DUCC_HOME}/logs/db.loader.log"/>
+    <param name="file" value="${DUCC_HOME}/logs/${DUCC_NODENAME}.db.loader.log"/>
     <param name="maxBackupIndex" value="20" />
     <param name="maxFileSize" value="20MB" />
     <layout class="org.apache.log4j.PatternLayout"> 
@@ -164,58 +98,53 @@
   
    <category name="org.apache.uima.ducc.rm" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="rmlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <!-- Please keep these for reference as they focus on specific components of interest during debug. -->
    <!-- category name="org.apache.uima.ducc.rm.JobManagerConverter" additivity="true">
      <priority value="info"/>
-     <appender-ref ref="rmlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.rm.NodeStability" additivity="true">
      <priority value="debug"/>
-     <appender-ref ref="rmlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.rm.ResourceManagerComponent" additivity="true">
      <priority value="info"/>
-     <appender-ref ref="rmlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category -->
 
    <category name="org.apache.uima.ducc.orchestrator" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="orlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.agent" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="agentlog" />
+     <appender-ref ref="ducc-log" />
    </category>
 
    <category name="org.apache.uima.ducc.agent.deploy" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="agentlog" />
-   </category>
-
-   <category name="org.apache.uima.ducc.jd" additivity="false">
-     <priority value="info"/>
-     <appender-ref ref="jdout" />
+     <appender-ref ref="ducc-log" />
    </category>
 
    <category name="org.apache.uima.ducc.sm" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="smlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.pm" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="pmlog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.ws" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="wslog" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.user.err" additivity="true">
@@ -237,12 +166,12 @@
 
    <category name="org.apache.camel">
      <priority value="warn"/>
-     <appender-ref ref="3rd-party" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
    
    <category name="org.apache.camel.impl.converter">
      <priority value="error"/>
-     <appender-ref ref="3rd-party" /> 
+     <appender-ref ref="ducc-log" /> 
    </category>
 
    <category name="org.apache.uima.ducc.cli" additivity="false">
@@ -275,16 +204,33 @@
      <appender-ref ref="db-loader-log" /> 
    </category>
    
+   <!-- This is invoked from scripts, not by any of the daemons -->
+   <category name="org.apache.uima.ducc.database.lifetime" additivity="false">
+     <priority value="info"/>
+     <appender-ref ref="console" /> 
+   </category>
+   
+   <!-- This is invoked from scripts, not by any of the daemons -->
+   <category name="org.apache.uima.ducc.common.main" additivity="false">
+     <priority value="info"/>
+     <appender-ref ref="console" /> 
+   </category>
+   
    <!-- This should catch the use of any DUCC classes not explicitly specified above -->
    <category name="org.apache.uima.ducc" additivity="false">
      <priority value="info"/>
-     <appender-ref ref="console" /> 
+     <appender-ref ref="ducc-log" /> 
+   </category>
+
+   <!-- Disable the Logging initialized msgs -->
+   <category name="org.eclipse.jetty.util.log" additivity="false">
+     <priority value="warn"/>
    </category>
 
    <!-- This should be used by all non-DUCC 3rd-party code -->
   <root> 
     <priority value = "info" /> 
-    <appender-ref ref="3rd-party" /> 
+    <appender-ref ref="ducc-log" /> 
   </root>
   
 </log4j:configuration>

Added: uima/uima-ducc/trunk/src/main/resources/user-log4j.xml
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/src/main/resources/user-log4j.xml?rev=1864671&view=auto
==============================================================================
--- uima/uima-ducc/trunk/src/main/resources/user-log4j.xml (added)
+++ uima/uima-ducc/trunk/src/main/resources/user-log4j.xml Wed Aug  7 21:29:12 2019
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+
+<!-- This config file should be used by the JD and JP and log to the console -->
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+  <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
+    <param name="Target" value="System.out"/> 
+    <layout class="org.apache.log4j.PatternLayout"> 
+      <param name="ConversionPattern" value="%d{DATE} %5p %X{COMPONENT}.%c{1} - T[%X{TID}] %X{METHOD} %m%n"/> 
+    </layout> 
+  </appender> 
+
+  <!-- All DUCC classes  -->
+  <category name="org.apache.uima.ducc" additivity="false">
+    <priority value="info"/>
+    <appender-ref ref="console" /> 
+  </category>
+
+  <category name="org.apache.activemq">
+    <priority value="warn"/>
+  </category>
+
+  <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>
+
+  <!-- cassandra client -->
+  <category name="com.datastax.driver">
+    <priority value="warn"/>
+  </category>
+
+  <!-- Disable the Logging initialized msgs -->
+  <category name="org.eclipse.jetty.util.log" additivity="false">
+    <priority value="warn"/>
+  </category>
+
+   <!-- User code -->
+  <root> 
+    <priority value = "info" /> 
+    <appender-ref ref="console" /> 
+  </root>
+  
+</log4j:configuration>

Propchange: uima/uima-ducc/trunk/src/main/resources/user-log4j.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: uima/uima-ducc/trunk/src/main/resources/user-log4j.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccAdmin.java Wed Aug  7 21:29:12 2019
@@ -43,6 +43,7 @@ import org.apache.commons.cli.OptionBuil
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.PosixParser;
+import org.apache.log4j.Level;
 import org.apache.uima.ducc.common.IDuccUser;
 import org.apache.uima.ducc.common.admin.event.DuccAdminEvent;
 import org.apache.uima.ducc.common.admin.event.DuccAdminEventKill;
@@ -146,7 +147,7 @@ public class DuccAdmin extends AbstractD
 
     public DuccLogger getLogger()
     {
-        return new DuccLogger("Admin");
+        return new DuccLogger(DuccAdmin.class);
     }
 
 	/**

Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/main/DuccRmAdmin.java Wed Aug  7 21:29:12 2019
@@ -167,7 +167,7 @@ public class DuccRmAdmin
      */
     public DuccLogger getLogger()
     {
-        DuccLogger ret = new DuccLogger("admin");
+        DuccLogger ret = new DuccLogger(DuccRmAdmin.class);
         ret.setLevel(Level.OFF);      // jrc UIMA-4358 disable logging for RM admin because
                                       // scripting has to scrape stdout and the log gets in the way
         return ret;

Modified: uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccLogger.java Wed Aug  7 21:29:12 2019
@@ -50,17 +50,21 @@ public class DuccLogger
 
     private static String daemonComponent = null;
     
-    private static DuccLoggingThread log_thread = null;
+    //private static DuccLoggingThread log_thread = null;
     private static LinkedBlockingQueue<DuccLoggingEvent> events = null;
     private static AtomicBoolean threaded = new AtomicBoolean(false);
-    private static boolean watchdogStarted = false;
-
+    
+    // If a daemon use watchdog and configure with log4j.xml
+    // If a JD & JP which run as the user don't use watchdog and default config user-log4j.xml
+    private static boolean isJob = System.getProperty("ducc.deploy.JobDirectory") != null;
+    private static boolean watchdogStarted = isJob;
+    
     private final static String DEFAULT_COMPONENT = "DUCC";
     private static List<Logger> nonDuccLoggers = new ArrayList<Logger>();
 
     private boolean debug = System.getProperty("log4j.debug") != null;    // Use the log4j debugging flag
 
-    static synchronized protected void initLogger()
+/*    static synchronized protected void initLogger()
     {
         if ( log_thread == null ) {
             events = new LinkedBlockingQueue<DuccLoggingEvent>();
@@ -69,7 +73,7 @@ public class DuccLogger
             log_thread.setDaemon(true);
             log_thread.start();
         }
-    }
+    }*/
 
     static public void setDaemonComponent(String value) {
     	daemonComponent = value;
@@ -176,13 +180,21 @@ public class DuccLogger
     public DuccLogger(String claz, String requestComponent)
     {
         // initLogger();
-
         // UIMA-4186, use log4j API for configuration
         String ducc_home = System.getProperty("DUCC_HOME");
         if ( ducc_home == null ) { 
             System.out.println("WARNING: Cannot find system property DUCC_HOME to configure ducc logger.  Using default log4j configurator.");
         } else {
-            if ( ! watchdogStarted ) {
+            if (isJob) {
+              // Set a default configuration for JD & JP if none provided
+              String usersValue = System.getProperty("log4j.configuration");
+              if (usersValue == null) {
+                usersValue = "file:" + System.getProperty("DUCC_HOME") + "/resources/user-log4j.xml";
+                System.setProperty("log4j.configuration", usersValue);
+              }
+              isJob = false;  // No need to check again
+            }
+            if ( !watchdogStarted ) {
             	// Explicitly set the config file since the search for the default uses 
             	// ClassLoader.getSystemResource() so may find one in the user's classpath
                 // UIMA-5183 First check for a node-specific configuration file
@@ -196,7 +208,8 @@ public class DuccLogger
                         System.out.println("DuccLogger will use configuration file: " + configFile);
                     }
                 }
-            	String usersValue = System.setProperty("log4j.configuration", "file:" + configFile);
+                // Change the system property, configure, and then restore any users value
+                String usersValue = System.setProperty("log4j.configuration", "file:" + configFile);
                 DOMConfigurator.configureAndWatch(configFile);
                 if (usersValue == null) {
                 	System.clearProperty("log4j.configuration");
@@ -214,7 +227,7 @@ public class DuccLogger
 
         ErrorHandler errHandler = new DuccLogErrorHandler(this);
         @SuppressWarnings("rawtypes")
-		Enumeration appenders = logger.getAllAppenders();
+        Enumeration appenders = logger.getAllAppenders();
         while (appenders.hasMoreElements() ) {
             Appender app = (Appender) appenders.nextElement();
             app.setErrorHandler(errHandler);
@@ -674,7 +687,7 @@ public class DuccLogger
         }        
     }
 
-    static class DuccLoggingThread
+ /*   static class DuccLoggingThread
         extends Thread
     {
         public void run()
@@ -694,7 +707,7 @@ public class DuccLogger
             }
         }
     }
-
+*/
     static class DuccLogErrorHandler
         implements ErrorHandler
     {

Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServer.java Wed Aug  7 21:29:12 2019
@@ -28,7 +28,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.jasper.servlet.JspServlet;
 import org.apache.tomcat.InstanceManager;
 import org.apache.tomcat.SimpleInstanceManager;
 import org.apache.tomcat.util.scan.StandardJarScanner;
@@ -36,9 +35,9 @@ import org.apache.uima.ducc.common.confi
 import org.apache.uima.ducc.common.internationalization.Messages;
 import org.apache.uima.ducc.common.utils.DuccLogger;
 import org.apache.uima.ducc.common.utils.DuccPropertiesResolver;
+import org.apache.uima.ducc.common.utils.InetHelper;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.ws.DuccPlugins;
-import org.eclipse.jetty.annotations.ServletContainerInitializersStarter;
 import org.eclipse.jetty.apache.jsp.JettyJasperInitializer;
 import org.eclipse.jetty.jsp.JettyJspServlet;
 import org.eclipse.jetty.plus.annotation.ContainerInitializer;
@@ -369,7 +368,9 @@ public class DuccWebServer {
         if(requestLogRetainDays > 0) {
 			String requestLogTimeZone = "GMT";
 			String requestLogFmt = "yyyy_MM_dd";
-			String requestLogFile = DuccWebServerHelper.getDuccWebLogsDir()+requestLogFmt+".request.log";
+			// Put request log in shared logs/webserver dir with host as part of the filename
+			String fname = InetHelper.getHostName() + "." + requestLogFmt + ".request.log";
+			String requestLogFile = DuccWebServerHelper.getDuccWebLogsDir() + fname;
 			NCSARequestLog requestLog = new NCSARequestLog();
 		    requestLog.setFilename(requestLogFile);
 		    requestLog.setFilenameDateFormat(requestLogFmt);

Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServerHelper.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServerHelper.java?rev=1864671&r1=1864670&r2=1864671&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServerHelper.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccWebServerHelper.java Wed Aug  7 21:29:12 2019
@@ -26,7 +26,6 @@ import java.util.Properties;
 
 import org.apache.uima.ducc.common.IDuccEnv;
 import org.apache.uima.ducc.common.utils.DuccLogger;
-import org.apache.uima.ducc.common.utils.InetHelper;
 import org.apache.uima.ducc.common.utils.id.DuccId;
 import org.apache.uima.ducc.ws.standardize.WsStandardize;
 
@@ -37,8 +36,7 @@ public class DuccWebServerHelper {
 	private static DuccId jobid = null;
 	
 	public static String getDuccWebLogsDir() {
-		String hostname = InetHelper.getHostName();
-		String retVal = IDuccEnv.DUCC_LOGS_DIR+"daemons"+File.separator+hostname+File.separator+"webserver"+File.separator;
+		String retVal = IDuccEnv.DUCC_LOGS_DIR + "webserver " + File.separator;
 		return retVal;
 	}