From 6b41a4da5e33192933bcbdabb61af47082acf7be Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Tue, 22 Jul 2008 15:10:13 +0000
Subject: [PATCH] change: improve logging by writing the real class to the log
 file

SVN: 7402
---
 .../utilities/AbstractCopyActivitySensor.java | 20 +++++++++----------
 .../RemoteDirectoryCopyActivitySensor.java    | 15 +++++++++++++-
 .../remote/RemoteStoreCopyActivitySensor.java | 13 ++++++++++++
 3 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/AbstractCopyActivitySensor.java b/common/source/java/ch/systemsx/cisd/common/utilities/AbstractCopyActivitySensor.java
index 7dcc6025895..448bcb34910 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/AbstractCopyActivitySensor.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/AbstractCopyActivitySensor.java
@@ -22,8 +22,6 @@ import org.apache.log4j.Logger;
 import ch.systemsx.cisd.common.concurrent.InactivityMonitor.IActivitySensor;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
 import ch.systemsx.cisd.common.exceptions.StatusWithResult;
-import ch.systemsx.cisd.common.logging.LogCategory;
-import ch.systemsx.cisd.common.logging.LogFactory;
 
 /**
  * A super class for {@link IActivitySensor}s that sense changes in some sort of copy operation to
@@ -33,9 +31,6 @@ import ch.systemsx.cisd.common.logging.LogFactory;
  */
 public abstract class AbstractCopyActivitySensor implements IActivitySensor
 {
-    protected static final Logger machineLog =
-            LogFactory.getLogger(LogCategory.MACHINE, AbstractCopyActivitySensor.class);
-
     protected static final int DEFAULT_MAX_ERRORS_TO_IGNORE = 3;
 
     protected final int maxErrorsToIgnore;
@@ -77,6 +72,11 @@ public abstract class AbstractCopyActivitySensor implements IActivitySensor
      * Returns a textual description of the target.
      */
     protected abstract String getTargetDescription();
+    
+    /**
+     * Returns the machine log for the concrete implementation.
+     */
+    protected abstract Logger getMachineLog();
 
     //
     // IActivitySensor
@@ -92,13 +92,13 @@ public abstract class AbstractCopyActivitySensor implements IActivitySensor
             if (errorCount <= maxErrorsToIgnore)
             {
                 timeOfLastReportedActivity = now;
-                machineLog.error(describeInactivity(now)
+                getMachineLog().error(describeInactivity(now)
                         + String.format(" (error count: %d <= %d, goes unreported)", errorCount,
                                 maxErrorsToIgnore));
             } else
             {
-                machineLog.error(describeInactivity(now)
-                        + " (error count: %s, reported to monitor)");
+                getMachineLog().error(describeInactivity(now)
+                        + String.format(" (error count: %s, reported to monitor)", errorCount));
             }
         } else
         {
@@ -106,9 +106,9 @@ public abstract class AbstractCopyActivitySensor implements IActivitySensor
             {
                 timeOfLastConfirmedActivity = now;
                 lastNonErrorResult = currentResult.tryGetResult();
-                if (machineLog.isDebugEnabled())
+                if (getMachineLog().isDebugEnabled())
                 {
-                    machineLog.debug("Observing write activity on " + getTargetDescription());
+                    getMachineLog().debug("Observing write activity on " + getTargetDescription());
                 }
             }
             // Implementation note: This means we can report an older time of activity than what we
diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/RemoteDirectoryCopyActivitySensor.java b/common/source/java/ch/systemsx/cisd/common/utilities/RemoteDirectoryCopyActivitySensor.java
index 63c3d06865d..6cf609f2544 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/RemoteDirectoryCopyActivitySensor.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/RemoteDirectoryCopyActivitySensor.java
@@ -18,9 +18,13 @@ package ch.systemsx.cisd.common.utilities;
 
 import java.io.File;
 
+import org.apache.log4j.Logger;
+
 import ch.systemsx.cisd.common.concurrent.InactivityMonitor.IActivitySensor;
 import ch.systemsx.cisd.common.exceptions.StatusWithResult;
 import ch.systemsx.cisd.common.exceptions.UnknownLastChangedException;
+import ch.systemsx.cisd.common.logging.LogCategory;
+import ch.systemsx.cisd.common.logging.LogFactory;
 
 /**
  * A {@link IActivitySensor} that senses changes in copy operations to a directory.
@@ -29,6 +33,9 @@ import ch.systemsx.cisd.common.exceptions.UnknownLastChangedException;
  */
 public final class RemoteDirectoryCopyActivitySensor extends AbstractCopyActivitySensor
 {
+    private final static Logger machineLog =
+            LogFactory.getLogger(LogCategory.MACHINE, RemoteDirectoryCopyActivitySensor.class);
+
     private final File target;
 
     public RemoteDirectoryCopyActivitySensor(File target)
@@ -53,7 +60,7 @@ public final class RemoteDirectoryCopyActivitySensor extends AbstractCopyActivit
             return StatusWithResult.create(lastChanged);
         } catch (UnknownLastChangedException ex)
         {
-            return StatusWithResult.<Long>createError("Cannot determine time of last change of "
+            return StatusWithResult.<Long> createError("Cannot determine time of last change of "
                     + getTargetDescription());
         }
     }
@@ -64,4 +71,10 @@ public final class RemoteDirectoryCopyActivitySensor extends AbstractCopyActivit
         return String.format("target '%s'", target);
     }
 
+    @Override
+    protected Logger getMachineLog()
+    {
+        return machineLog;
+    }
+
 }
diff --git a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemoteStoreCopyActivitySensor.java b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemoteStoreCopyActivitySensor.java
index 9945474900f..f434f8599d3 100644
--- a/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemoteStoreCopyActivitySensor.java
+++ b/datamover/source/java/ch/systemsx/cisd/datamover/filesystem/remote/RemoteStoreCopyActivitySensor.java
@@ -16,8 +16,12 @@
 
 package ch.systemsx.cisd.datamover.filesystem.remote;
 
+import org.apache.log4j.Logger;
+
 import ch.systemsx.cisd.common.concurrent.InactivityMonitor.IActivitySensor;
 import ch.systemsx.cisd.common.exceptions.StatusWithResult;
+import ch.systemsx.cisd.common.logging.LogCategory;
+import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.AbstractCopyActivitySensor;
 import ch.systemsx.cisd.common.utilities.StoreItem;
 import ch.systemsx.cisd.datamover.filesystem.intf.IFileStore;
@@ -30,6 +34,9 @@ import ch.systemsx.cisd.datamover.filesystem.intf.IFileStore;
  */
 public class RemoteStoreCopyActivitySensor extends AbstractCopyActivitySensor
 {
+    private final static Logger machineLog =
+        LogFactory.getLogger(LogCategory.MACHINE, RemoteStoreCopyActivitySensor.class);
+
     private final IFileStore destinationStore;
 
     private final StoreItem copyItem;
@@ -61,4 +68,10 @@ public class RemoteStoreCopyActivitySensor extends AbstractCopyActivitySensor
         return String.format("item '%s' in store '%s'", copyItem, destinationStore);
     }
 
+    @Override
+    protected Logger getMachineLog()
+    {
+        return machineLog;
+    }
+
 }
-- 
GitLab