From 977e4fbf88177ba093bcecf5f0ab85318e546d64 Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Mon, 1 Jul 2024 16:15:46 +0200 Subject: [PATCH 1/4] create rotate file on the fly --- .../org/apache/cloudstack/ServerDaemon.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index 06477fff8986..f77bf7394025 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -18,10 +18,7 @@ // package org.apache.cloudstack; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.lang.management.ManagementFactory; import java.net.URL; import java.util.Properties; @@ -309,9 +306,31 @@ private RequestLog createRequestLog() { log.setAppend(true); log.setLogTimeZone("GMT"); log.setLogLatency(true); + createRotateFile(logPath); return log; } + private void createRotateFile(File logPath) { + String rotatefile = "/etc/logrotate/access"; + String fileContents = logPath.getAbsolutePath() + " {\n" + + " copytruncate" + + " daily" + + " rotate 14" + + " compress" + + " missingok" + + " create 0644 cloud cloud" + + "}"; + File rotateConfigFile = new File(rotatefile); + try { + FileWriter fw = new FileWriter(rotateConfigFile); + fw.write(fileContents); + fw.close(); + } catch (IOException e) { + // log but continue without rotate (for now) + LOG.warn("no way to rotate access log, continuing as is"); + } + } + private URL getResource(String aResource) { return Thread.currentThread().getContextClassLoader().getResource(aResource); } From 886f7cb18f03c6670a4ca17cd6b20b12bdea7288 Mon Sep 17 00:00:00 2001 From: dahn Date: Mon, 1 Jul 2024 16:19:17 +0200 Subject: [PATCH 2/4] Update client/src/main/java/org/apache/cloudstack/ServerDaemon.java --- client/src/main/java/org/apache/cloudstack/ServerDaemon.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index f77bf7394025..59b21c0eda06 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -18,7 +18,9 @@ // package org.apache.cloudstack; -import java.io.*; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; import java.lang.management.ManagementFactory; import java.net.URL; import java.util.Properties; From 636c2db89b8461aa37ddbbed8e7003583a2e100a Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Mon, 1 Jul 2024 16:41:15 +0200 Subject: [PATCH 3/4] autoimport s*** --- client/src/main/java/org/apache/cloudstack/ServerDaemon.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index 59b21c0eda06..64c268b29ffa 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -19,7 +19,9 @@ package org.apache.cloudstack; import java.io.File; +import java.io.FileInputStream; import java.io.FileWriter; +import java.io.InputStream; import java.io.IOException; import java.lang.management.ManagementFactory; import java.net.URL; From 3e090a5c5e02f09fd197e1559b126795b37eb92f Mon Sep 17 00:00:00 2001 From: dahn Date: Mon, 1 Jul 2024 16:58:17 +0200 Subject: [PATCH 4/4] Update client/src/main/java/org/apache/cloudstack/ServerDaemon.java --- client/src/main/java/org/apache/cloudstack/ServerDaemon.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java index 64c268b29ffa..23f1b7f97d34 100644 --- a/client/src/main/java/org/apache/cloudstack/ServerDaemon.java +++ b/client/src/main/java/org/apache/cloudstack/ServerDaemon.java @@ -315,7 +315,7 @@ private RequestLog createRequestLog() { } private void createRotateFile(File logPath) { - String rotatefile = "/etc/logrotate/access"; + String rotatefile = "/etc/logrotate.d/access"; String fileContents = logPath.getAbsolutePath() + " {\n" + " copytruncate" + " daily"