Spaces:
Sleeping
Sleeping
| import logging | |
| import sys | |
| import os | |
| def setup_logger(name='morphguard', level=logging.INFO): | |
| """ | |
| Setup structured logging for the application. | |
| """ | |
| logger = logging.getLogger(name) | |
| logger.setLevel(level) | |
| # Check if handlers exist to avoid duplicates | |
| if not logger.handlers: | |
| # Console Handler | |
| console_handler = logging.StreamHandler(sys.stdout) | |
| console_handler.setLevel(level) | |
| console_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| console_handler.setFormatter(console_formatter) | |
| logger.addHandler(console_handler) | |
| # File Handler (Optional, only if logs dir exists or created) | |
| log_dir = 'logs' | |
| if os.path.exists(log_dir): | |
| file_handler = logging.FileHandler(os.path.join(log_dir, 'app.log')) | |
| file_handler.setLevel(level) | |
| file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| file_handler.setFormatter(file_formatter) | |
| logger.addHandler(file_handler) | |
| return logger | |
| # Create global logger instance | |
| logger = setup_logger() | |