From 6e35d4ae972af3b7a447cf7737efc693bb56489e Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Sun, 26 Feb 2023 16:38:27 -0500 Subject: [PATCH 1/3] Default delete crafty logs after 2 weeks --- app/classes/shared/helpers.py | 1 + app/classes/shared/tasks.py | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 4374c99f..96b3fac8 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -441,6 +441,7 @@ class Helpers: "reset_secrets_on_next_boot": False, "monitored_mounts": mounts, "dir_size_poll_freq_minutes": 5, + "crafty_logs_delete_after_days": 14, } def get_all_settings(self): diff --git a/app/classes/shared/tasks.py b/app/classes/shared/tasks.py index 3a57cf90..9c1f52b0 100644 --- a/app/classes/shared/tasks.py +++ b/app/classes/shared/tasks.py @@ -751,10 +751,39 @@ class TasksManager: logger.debug("Could not clear out file from import directory") def log_watcher(self): - self.controller.servers.check_for_old_logs() + self.check_for_old_logs() self.scheduler.add_job( - self.controller.servers.check_for_old_logs, + self.check_for_old_logs, "interval", hours=6, id="log-mgmt", ) + + def check_for_old_logs(self): + # check for server logs first + self.controller.servers.check_for_old_logs() + # check for crafty logs now + logs_path = os.path.join(self.controller.project_root, "logs") + logs_delete_after = int( + self.helper.get_setting("crafty_logs_delete_after_days") + ) + latest_log_files = [ + "session.log", + "schedule.log", + "tornado-access.log", + "session.log", + "commander.log", + ] + + log_files = list( + filter( + lambda val: val not in latest_log_files, + os.listdir(logs_path), + ) + ) + for log_file in log_files: + log_file_path = os.path.join(logs_path, log_file) + if Helpers.check_file_exists( + log_file_path + ) and Helpers.is_file_older_than_x_days(log_file_path, logs_delete_after): + os.remove(log_file_path) From 39190ed43be06d2e495d6c47c374664661b66b31 Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Thu, 2 Mar 2023 13:40:45 -0500 Subject: [PATCH 2/3] Default to not delete logs --- app/classes/shared/helpers.py | 2 +- app/classes/shared/tasks.py | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/classes/shared/helpers.py b/app/classes/shared/helpers.py index 96b3fac8..cf108bcd 100644 --- a/app/classes/shared/helpers.py +++ b/app/classes/shared/helpers.py @@ -441,7 +441,7 @@ class Helpers: "reset_secrets_on_next_boot": False, "monitored_mounts": mounts, "dir_size_poll_freq_minutes": 5, - "crafty_logs_delete_after_days": 14, + "crafty_logs_delete_after_days": 0, } def get_all_settings(self): diff --git a/app/classes/shared/tasks.py b/app/classes/shared/tasks.py index 9c1f52b0..8f51842b 100644 --- a/app/classes/shared/tasks.py +++ b/app/classes/shared/tasks.py @@ -774,16 +774,19 @@ class TasksManager: "session.log", "commander.log", ] - - log_files = list( - filter( - lambda val: val not in latest_log_files, - os.listdir(logs_path), + # we won't delete if delete logs after is set to 0 + if logs_delete_after != 0: + log_files = list( + filter( + lambda val: val not in latest_log_files, + os.listdir(logs_path), + ) ) - ) - for log_file in log_files: - log_file_path = os.path.join(logs_path, log_file) - if Helpers.check_file_exists( - log_file_path - ) and Helpers.is_file_older_than_x_days(log_file_path, logs_delete_after): - os.remove(log_file_path) + for log_file in log_files: + log_file_path = os.path.join(logs_path, log_file) + if Helpers.check_file_exists( + log_file_path + ) and Helpers.is_file_older_than_x_days( + log_file_path, logs_delete_after + ): + os.remove(log_file_path) From 05f6bffb00d6902363d444b7891e8104accee23c Mon Sep 17 00:00:00 2001 From: Zedifus Date: Sat, 4 Mar 2023 14:12:50 +0000 Subject: [PATCH 3/3] Update changelog !563 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d5ea41d..1b44901a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Truncate sidebar servers to a max of 10 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/552)) - Upgrade to FA 6. Add Translations ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/549))([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/558)) - Forge installer and Java Detection improvements ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/559)) +- Crafty log clean up -config option ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/563)) ### Lang - Add additional translations to backups page strings ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/543)) - Add additional missing translations ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/549))