summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java b/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
index 1f57de22f55..64be0556cff 100644
--- a/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
+++ b/container-search/src/main/java/com/yahoo/search/logging/AbstractSpoolingLogger.java
@@ -12,7 +12,8 @@ import java.util.logging.Level;
/**
* Abstract class that deals with storing event entries on disk and making sure all stored
- * entries are eventually sent
+ * entries are eventually sent. Note that the {@link #start()} method needs to be called by subclasses as
+ * the last statement in their constructor.
*
* @author hmusum
*/
@@ -31,8 +32,11 @@ public abstract class AbstractSpoolingLogger extends AbstractThreadedLogger impl
public AbstractSpoolingLogger(Spooler spooler) {
this.spooler = spooler;
this.executorService = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("AbstractSpoolingLogger-send-"));
- // Delay some time before starting to process files, subclasses might need to be constructed fully first
- this.executorService.scheduleWithFixedDelay(this, 5, 1L, TimeUnit.SECONDS);
+ }
+
+ /** Start processing files, must be called by subclasses */
+ public void start() {
+ this.executorService.scheduleWithFixedDelay(this, 0, 1L, TimeUnit.SECONDS);
}
public void run() {