Merge branch 'tweak/delete-crafty-logs' into 'dev'

Crafty log clean up -config option

See merge request crafty-controller/crafty-4!563
This commit is contained in:
Iain Powrie 2023-03-04 15:03:42 +00:00
commit ee747a314a
3 changed files with 36 additions and 2 deletions

View File

@ -20,6 +20,7 @@
- Truncate sidebar servers to a max of 10 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/552)) - 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)) - 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)) - 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 ### Lang
- Add additional translations to backups page strings ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/543)) - 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)) - Add additional missing translations ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/549))

View File

@ -441,6 +441,7 @@ class Helpers:
"reset_secrets_on_next_boot": False, "reset_secrets_on_next_boot": False,
"monitored_mounts": mounts, "monitored_mounts": mounts,
"dir_size_poll_freq_minutes": 5, "dir_size_poll_freq_minutes": 5,
"crafty_logs_delete_after_days": 0,
} }
def get_all_settings(self): def get_all_settings(self):

View File

@ -751,10 +751,42 @@ class TasksManager:
logger.debug("Could not clear out file from import directory") logger.debug("Could not clear out file from import directory")
def log_watcher(self): def log_watcher(self):
self.controller.servers.check_for_old_logs() self.check_for_old_logs()
self.scheduler.add_job( self.scheduler.add_job(
self.controller.servers.check_for_old_logs, self.check_for_old_logs,
"interval", "interval",
hours=6, hours=6,
id="log-mgmt", 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",
]
# 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)