| | import os |
| | import logging |
| |
|
| |
|
| | def setup_logging(logger_name=None): |
| | """ |
| | Configure logging settings with a unified configuration. |
| | Creates logs directory if it doesn't exist and sets up logging handlers. |
| | |
| | Args: |
| | logger_name: Name for the logger. If None, returns root logger. |
| | |
| | Returns: |
| | Configured logger instance |
| | """ |
| | log_dir = "logs" |
| | if not os.path.exists(log_dir): |
| | os.makedirs(log_dir) |
| | |
| | log_file = os.path.join(log_dir, "main.log") |
| | |
| | |
| | root_logger = logging.getLogger() |
| | if not root_logger.handlers: |
| | |
| | logging.basicConfig( |
| | level=logging.INFO, |
| | format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', |
| | handlers=[ |
| | logging.FileHandler(log_file), |
| | logging.StreamHandler() |
| | ] |
| | ) |
| | |
| | |
| | if logger_name: |
| | logger = logging.getLogger(logger_name) |
| | else: |
| | logger = root_logger |
| | |
| | |
| | logger.setLevel(logging.INFO) |
| | |
| | return logger |