diff --git a/settings.py b/settings.py index 35b0db638..5b4242dcc 100644 --- a/settings.py +++ b/settings.py @@ -89,13 +89,18 @@ PRIMARY_LOG_DIR = Path("/var/log/troggle") FALLBACK_LOG_DIR = "/home/psargent/var-log-troggle" log_filename = "troggle.log" -try: - PRIMARY_LOG_DIR.mkdir(parents=True, exist_ok=True) - final_log_path = PRIMARY_LOG_DIR / log_filename -except (PermissionError, OSError): - FALLBACK_LOG_DIR.mkdir(parents=True, exist_ok=True) - final_log_path = FALLBACK_LOG_DIR / log_filename - print(f"!! Log permission denied at /var/log. Falling back to: {final_log_path}") +def get_valid_log_path(): + try: + PRIMARY_LOG_DIR.mkdir(parents=True, exist_ok=True) + test_file = PRIMARY_LOG_DIR / ".permissions_test" + test_file.touch() # Create a tiny file + test_file.unlink() # Delete it + return PRIMARY_LOG_DIR / log_filename + except (PermissionError, OSError): + FALLBACK_LOG_DIR.mkdir(parents=True, exist_ok=True) + return FALLBACK_LOG_DIR / log_filename + +final_log_path = get_valid_log_path() LOGGING = { "version": 1,