X-Git-Url: https://gerrit.onap.org/r/gitweb?p=dmaap%2Fdatarouter.git;a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdatarouter%2Fprovisioning%2Futils%2FPurgeLogDirTask.java;h=c4994bb3fa286713d04f6566686b9c9c3c25b0ec;hp=14d151979a257199ea50f10cc6e7d20f27b4003e;hb=68a9ca240970fceaf12bbe91b7bad8e1d98ecd93;hpb=c19a2f3ea39d553f8eaefb98710971a80ba23de1 diff --git a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/PurgeLogDirTask.java b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/PurgeLogDirTask.java index 14d15197..c4994bb3 100644 --- a/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/PurgeLogDirTask.java +++ b/datarouter-prov/src/main/java/org/onap/dmaap/datarouter/provisioning/utils/PurgeLogDirTask.java @@ -24,10 +24,15 @@ package org.onap.dmaap.datarouter.provisioning.utils; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Objects; import java.util.Properties; import java.util.TimerTask; -import org.apache.log4j.Logger; +import org.onap.dmaap.datarouter.provisioning.ProvRunner; /** * This class provides a {@link TimerTask} that purges old logfiles (older than the number of days specified by the @@ -42,22 +47,23 @@ public class PurgeLogDirTask extends TimerTask { private final String logdir; private final long interval; - private Logger utilsLogger; + private EELFLogger utilsLogger; + /** + * PurgeLogDirTask constructor. + */ public PurgeLogDirTask() { - Properties p = (new DB()).getProperties(); - logdir = p.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir"); - String s = p.getProperty("org.onap.dmaap.datarouter.provserver.logretention", "30"); - - this.utilsLogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.utils"); - - long n = 30; + Properties prop = ProvRunner.getProvProperties(); + logdir = prop.getProperty("org.onap.dmaap.datarouter.provserver.accesslog.dir"); + String str = prop.getProperty("org.onap.dmaap.datarouter.provserver.logretention", "30"); + this.utilsLogger = EELFManager.getInstance().getLogger("UtilsLog"); + long retention = 30; try { - n = Long.parseLong(s); + retention = Long.parseLong(str); } catch (NumberFormatException e) { // ignore } - interval = n * ONEDAY; + interval = retention * ONEDAY; } @Override @@ -65,15 +71,23 @@ public class PurgeLogDirTask extends TimerTask { try { File dir = new File(logdir); if (dir.exists()) { - long exptime = System.currentTimeMillis() - interval; - for (File logfile : dir.listFiles()) { - if (logfile.lastModified() < exptime) { - logfile.delete(); - } - } + purgeLogFiles(dir); } } catch (Exception e) { - utilsLogger.error("Exception: " + e.getMessage()); + utilsLogger.error("Exception: " + e.getMessage(), e); + } + } + + private void purgeLogFiles(File dir) { + long exptime = System.currentTimeMillis() - interval; + for (File logfile : Objects.requireNonNull(dir.listFiles())) { + if (logfile.lastModified() < exptime) { + try { + Files.delete(logfile.toPath()); + } catch (IOException e) { + utilsLogger.error("Failed to delete file: " + logfile.getPath(), e); + } + } } } }