Coverage for src/chuck_data/logger.py: 0%
22 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-06-05 22:56 -0700
« prev ^ index » next coverage.py v7.8.0, created at 2025-06-05 22:56 -0700
1import logging
2import os
3from datetime import datetime
5# Global variable to track current session log file
6_current_log_file = None
9def setup_logging():
10 """Initialize logging system."""
11 global _current_log_file
13 log_dir = os.path.join(os.getcwd(), "log", "sessions")
14 os.makedirs(log_dir, exist_ok=True)
16 log_file = os.path.join(
17 log_dir, f"{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.log"
18 )
20 # Store the current log file path
21 _current_log_file = log_file
23 logger = logging.getLogger()
24 logger.setLevel(logging.DEBUG)
26 file_handler = logging.FileHandler(log_file)
27 file_handler.setLevel(logging.DEBUG)
29 stream_handler = logging.StreamHandler()
30 stream_handler.setLevel(logging.CRITICAL)
32 formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
33 file_handler.setFormatter(formatter)
34 stream_handler.setFormatter(formatter)
36 logger.handlers = [file_handler, stream_handler]
38 logging.debug("Logging initialized. Writing to %s", log_file)
41def get_current_log_file():
42 """Get the path to the current session's log file."""
43 return _current_log_file