diff options
author | Andreas Eriksen <andreer@verizonmedia.com> | 2021-02-25 14:37:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-25 14:37:09 +0100 |
commit | f8860affa5d88eafb99f3d16a8c33ba5fbd6b4a9 (patch) | |
tree | d5330dbbfcb0bfae2c11c299dc1a636b8aec9af7 /jdisc_http_service/src/main/java/com | |
parent | b17daad2cbff98d1cff1133f6f88c605b07fd001 (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.java | 12 |
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; |