import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
+import java.io.IOException;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Paths;
public class LogManager extends TimerTask {
+ private static final String EXCEPTION = "Exception";
private EELFLogger logger = EELFManager.getInstance().getLogger(LogManager.class);
private NodeConfigManager config;
private Matcher isnodelog;
isnodelog = Pattern.compile("node\\.log\\.\\d{8}").matcher("");
iseventlog = Pattern.compile("events-\\d{12}\\.log").matcher("");
} catch (Exception e) {
- logger.error("Exception", e);
+ logger.error(EXCEPTION, e);
}
logdir = config.getLogDir();
uploaddir = logdir + "/.spool";
worker.poke();
}
- private class Uploader extends Thread implements DeliveryQueueHelper {
+ public Uploader getWorker() {
+ return worker;
+ }
+
+ class Uploader extends Thread implements DeliveryQueueHelper {
- private static final String EXCEPTION = "Exception";
private static final String META = "/.meta";
private EELFLogger logger = EELFManager.getInstance().getLogger(Uploader.class);
private DeliveryQueue dq;
}
private synchronized void poke() {
- notify();
+ notifyAll();
}
+ @Override
public void run() {
while (true) {
scan();
}
File file = new File(dir, fn);
if (file.lastModified() < threshold) {
- file.delete();
+ try {
+ Files.deleteIfExists(file.toPath());
+ } catch (IOException e) {
+ logger.error("Failed to delete file: " + file.getPath(), e);
+ }
}
}
try (Writer w = new FileWriter(uploaddir + "/.lastqueued")) {
- (new File(uploaddir + META)).delete();
+ Files.deleteIfExists(new File(uploaddir + META).toPath());
w.write(lastqueued + "\n");
} catch (Exception e) {
logger.error(EXCEPTION, e);