summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/main/java/com
diff options
context:
space:
mode:
authorAndreas Eriksen <andreer@verizonmedia.com>2021-02-25 14:37:09 +0100
committerGitHub <noreply@github.com>2021-02-25 14:37:09 +0100
commitf8860affa5d88eafb99f3d16a8c33ba5fbd6b4a9 (patch)
treed5330dbbfcb0bfae2c11c299dc1a636b8aec9af7 /jdisc_http_service/src/main/java/com
parentb17daad2cbff98d1cff1133f6f88c605b07fd001 (diff)
compress previous log file on startup (#16674)
Diffstat (limited to 'jdisc_http_service/src/main/java/com')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java b/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
index 3e257813b5e..0f2a9e42eb8 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/container/logging/LogFileHandler.java
@@ -366,6 +366,7 @@ class LogFileHandler <LOGTYPE> {
throw new RuntimeException("Couldn't open log file '" + fileName + "'", e);
}
+ if(oldFileName == null) oldFileName = getOldFileNameFromSymlink(); // To compress previous file, if so configured
createSymlinkToCurrentFile();
nextRotationTime = 0; //figure it out later (lazy evaluation)
@@ -465,6 +466,15 @@ class LogFileHandler <LOGTYPE> {
}
}
+ private String getOldFileNameFromSymlink() {
+ if(symlinkName == null) return null;
+ try {
+ return Paths.get(fileName).resolveSibling(symlinkName).toRealPath().toString();
+ } catch (IOException e) {
+ return null;
+ }
+ }
+
private static final long lengthOfDayMillis = 24 * 60 * 60 * 1000;
private static long timeOfDayMillis(long time) {
return time % lengthOfDayMillis;
@@ -475,8 +485,6 @@ class LogFileHandler <LOGTYPE> {
private static class Operation<LOGTYPE> {
enum Type {log, flush, close, rotate}
- ;
-
final Type type;
final Optional<LOGTYPE> log;