Skip to content

Commit f203df9

Browse files
authored
Merge pull request #110 from SnuffSocket/fix-log
Fix: Use rotating log file w/2MB limit, changed file name 'n removed...
2 parents dc1bdb1 + d669502 commit f203df9

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

BabbleApp/logger.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import sys
55
import platform
66
import psutil
7+
from logging.handlers import RotatingFileHandler
78

89
def strip_ansi_codes(text):
910
"""Remove ANSI color codes from a string."""
@@ -37,20 +38,23 @@ def log_system_info(logger):
3738
except Exception as e:
3839
logger.error(f"Failed to log system information: {e}")
3940

41+
class _RotatingFileHandler(RotatingFileHandler):
42+
def doRollover(self):
43+
super().doRollover()
44+
# Include system info after rollover
45+
log_system_info(logging.getLogger("debug_logger"))
4046

4147
def setup_logging():
42-
# Determine the user's Documents directory
43-
#documents_dir = os.path.join(os.path.expanduser("~"), "Documents")
44-
documents_dir = "./Logs"
45-
log_dir = os.path.join(documents_dir, "ProjectBabble")
48+
# Log to program directory
49+
log_dir = "./Logs"
4650
os.makedirs(log_dir, exist_ok=True)
47-
log_file = os.path.join(log_dir, "latest.log")
51+
log_file = os.path.join(log_dir, "ProjectBabble.log")
4852

4953
# Set up logging
5054
logger = logging.getLogger("debug_logger")
5155
logger.setLevel(logging.DEBUG)
5256

53-
file_handler = logging.FileHandler(log_file, mode='w', encoding='utf-8')
57+
file_handler = _RotatingFileHandler(log_file, mode='w', maxBytes=2000000, backupCount=1, encoding='utf-8')
5458
file_handler.setLevel(logging.DEBUG)
5559
formatter = logging.Formatter('%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
5660
file_handler.setFormatter(formatter)

0 commit comments

Comments
 (0)