X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Fcom%2Fatt%2Fresearch%2Fdatarouter%2Fprovisioning%2Futils%2FPurgeLogDirTask.java;fp=datarouter-prov%2Fsrc%2Fmain%2Fjava%2Fcom%2Fatt%2Fresearch%2Fdatarouter%2Fprovisioning%2Futils%2FPurgeLogDirTask.java;h=b705e6f8fbd500c5d8f162045ce8d3fe41699d9c;hb=aaf2df8b908fcb48043d2cd51803d8fd99f18b43;hp=0000000000000000000000000000000000000000;hpb=6ec9a9ce6c1062efa99da501fe8c6ea116aebf6f;p=dmaap%2Fdatarouter.git diff --git a/datarouter-prov/src/main/java/com/att/research/datarouter/provisioning/utils/PurgeLogDirTask.java b/datarouter-prov/src/main/java/com/att/research/datarouter/provisioning/utils/PurgeLogDirTask.java new file mode 100644 index 00000000..b705e6f8 --- /dev/null +++ b/datarouter-prov/src/main/java/com/att/research/datarouter/provisioning/utils/PurgeLogDirTask.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * ============LICENSE_START================================================== + * * org.onap.dmaap + * * =========================================================================== + * * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * * =========================================================================== + * * Licensed 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. + * * ============LICENSE_END==================================================== + * * + * * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * * + ******************************************************************************/ + + +package com.att.research.datarouter.provisioning.utils; + +import java.io.File; +import java.util.Properties; +import java.util.TimerTask; + +/** + * This class provides a {@link TimerTask} that purges old logfiles + * (older than the number of days specified by the com.att.research.datarouter.provserver.logretention property). + * @author Robert Eby + * @version $Id: PurgeLogDirTask.java,v 1.2 2013/07/05 13:48:05 eby Exp $ + */ +public class PurgeLogDirTask extends TimerTask { + private static final long ONEDAY = 86400000L; + + private final String logdir; + private final long interval; + + public PurgeLogDirTask() { + Properties p = (new DB()).getProperties(); + logdir = p.getProperty("com.att.research.datarouter.provserver.accesslog.dir"); + String s = p.getProperty("com.att.research.datarouter.provserver.logretention", "30"); + long n = 30; + try { + n = Long.parseLong(s); + } catch (NumberFormatException e) { + // ignore + } + interval = n * ONEDAY; + } + @Override + public void run() { + 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(); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } +}