From 8270d7b7a888dc1c74eeaeba51589cec5e15d213 Mon Sep 17 00:00:00 2001 From: tyler Date: Sat, 7 Nov 2026 23:42:46 -0700 Subject: [PATCH] fix to log file growing --- flares.py | 33 +++++++++++++++++++++++++-------- src/shared/shareddata.py | 2 +- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/flares.py b/flares.py index d308f25..9e060b0 100644 --- a/flares.py +++ b/flares.py @@ -14,6 +14,7 @@ import sys import json import time import logging +import logging.handlers import warnings import threading import traceback @@ -310,21 +311,37 @@ script_dir = os.path.dirname(os.path.abspath(__file__)) os.chdir(script_dir) -# Configure logging to file with timestamps and realtime flush + +# Configure logging with rotation to prevent indefinite growth if PLATFORM_NAME == 'darwin': log_path = os.path.abspath(os.path.join(os.path.dirname(sys.executable), "../../../fnirs_analysis.log")) else: log_path = os.path.join(get_app_dir(), "fnirs_analysis.log") -logging.basicConfig( - filename=log_path, - level=logging.INFO, - format='%(asctime)s - %(processName)s - %(levelname)s - %(message)s', - datefmt='%Y-%m-%d %H:%M:%S', - filemode='a' +# Create logger +logger = logging.getLogger() +logger.setLevel(logging.INFO) + +# Clear any existing handlers +logger.handlers.clear() + +# Create rotating file handler (max 10MB per file, keep 5 backups = ~50MB max total) +rotating_handler = logging.handlers.RotatingFileHandler( + log_path, + maxBytes=10*1024*1024, # 10 MB + backupCount=5, # Keep 5 backup files + encoding='utf-8' ) -logger = logging.getLogger() +# Set formatter +formatter = logging.Formatter( + '%(asctime)s - %(processName)s - %(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S' +) +rotating_handler.setFormatter(formatter) + +# Add handler to logger +logger.addHandler(rotating_handler) def set_config_me(config: dict[str, Any]) -> None: diff --git a/src/shared/shareddata.py b/src/shared/shareddata.py index 9ab13eb..ae82117 100644 --- a/src/shared/shareddata.py +++ b/src/shared/shareddata.py @@ -19,7 +19,7 @@ try: except ImportError: winreg = None -CURRENT_VERSION = "1.8.1" +CURRENT_VERSION = "1.8.2" APP_NAME = "flares" APP_NAME_EXPANDED = "fNIRS Lightweight Analysis, Research, & Evaluation Suite" API_URL = f"https://git.research.dezeeuw.ca/api/v1/repos/tyler/{APP_NAME}/releases"