X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-node%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fnode%2FLogManager.java;h=78a195b1a429c450086301654a4b0af77e9bb497;hp=ade47730b3fd0cc1733f31f3d88f0a2b24a014a3;hb=8d97ad4cf9b468d22e435537a8a9f2946205f35a;hpb=1841cb5d8da7b21996f8faad9d24f858e6ce8a41 diff --git a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/LogManager.java b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/LogManager.java index ade47730..78a195b1 100644 --- a/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/LogManager.java +++ b/datarouter-node/src/main/java/org/onap/dmaap/datarouter/node/LogManager.java @@ -22,22 +22,28 @@ ******************************************************************************/ package org.onap.dmaap.datarouter.node; -import java.util.*; -import java.util.regex.*; -import java.io.*; -import java.nio.file.*; -import java.text.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.Writer; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.Arrays; +import java.util.TimerTask; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * Cleanup of old log files. *

- * Periodically scan the log directory for log files that are older than - * the log file retention interval, and delete them. In a future release, - * This class will also be responsible for uploading events logs to the - * log server to support the log query APIs. + * Periodically scan the log directory for log files that are older than the log file retention interval, and delete + * them. In a future release, This class will also be responsible for uploading events logs to the log server to + * support the log query APIs. */ public class LogManager extends TimerTask { + private NodeConfigManager config; private Matcher isnodelog; private Matcher iseventlog; @@ -46,10 +52,15 @@ public class LogManager extends TimerTask { private String logdir; private class Uploader extends Thread implements DeliveryQueueHelper { + public long getInitFailureTimer() { return (10000L); } + public long getWaitForFileProcessFailureTimer() { + return (600000L); + } + public double getFailureBackoff() { return (2.0); } @@ -70,14 +81,14 @@ public class LogManager extends TimerTask { return (86400000); } - public String getDestURL(DestInfo dest, String fileid) { + public String getDestURL(DestInfo destinationInfo, String fileid) { return (config.getEventLogUrl()); } - public void handleUnreachable(DestInfo dest) { + public void handleUnreachable(DestInfo destinationInfo) { } - public boolean handleRedirection(DestInfo dest, String location, String fileid) { + public boolean handleRedirection(DestInfo destinationInfo, String location, String fileid) { return (false); } @@ -92,7 +103,11 @@ public class LogManager extends TimerTask { private DeliveryQueue dq; public Uploader() { - dq = new DeliveryQueue(this, new DestInfo("LogUpload", uploaddir, null, null, null, config.getMyName(), config.getMyAuth(), false, false)); + dq = new DeliveryQueue(this, + new DestInfo.DestInfoBuilder().setName("LogUpload").setSpool(uploaddir).setSubid(null).setLogdata(null) + .setUrl(null).setAuthuser(config.getMyName()).setAuthentication(config.getMyAuth()) + .setMetaonly(false).setUse100(false).setPrivilegedSubscriber(false).setFollowRedirects(false) + .setDecompress(false).createDestInfo()); setDaemon(true); setName("Log Uploader"); start(); @@ -154,11 +169,9 @@ public class LogManager extends TimerTask { f.delete(); } } - try { + try (Writer w = new FileWriter(uploaddir + "/.lastqueued")) { (new File(uploaddir + "/.meta")).delete(); - Writer w = new FileWriter(uploaddir + "/.lastqueued"); w.write(lastqueued + "\n"); - w.close(); } catch (Exception e) { } } @@ -167,10 +180,8 @@ public class LogManager extends TimerTask { /** * Construct a log manager *

- * The log manager will check for expired log files every 5 minutes - * at 20 seconds after the 5 minute boundary. (Actually, the - * interval is the event log rollover interval, which - * defaults to 5 minutes). + * The log manager will check for expired log files every 5 minutes at 20 seconds after the 5 minute boundary. + * (Actually, the interval is the event log rollover interval, which defaults to 5 minutes). */ public LogManager(NodeConfigManager config) { this.config = config; @@ -183,7 +194,7 @@ public class LogManager extends TimerTask { uploaddir = logdir + "/.spool"; (new File(uploaddir)).mkdirs(); long now = System.currentTimeMillis(); - long intvl = StatusLog.parseInterval(config.getEventLogInterval(), 300000); + long intvl = StatusLog.parseInterval(config.getEventLogInterval(), 30000); long when = now - now % intvl + intvl + 20000L; config.getTimer().scheduleAtFixedRate(this, when - now, intvl); worker = new Uploader();