import logging | |
import os | |
from datetime import datetime | |
def setup_logger(log_level=logging.INFO): | |
"""Configure and return a logger instance for the application.""" | |
# Create logs directory if it doesn't exist | |
log_dir = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'logs') | |
os.makedirs(log_dir, exist_ok=True) | |
# Create unique log filename with timestamp | |
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') | |
log_file = os.path.join(log_dir, f'cv_parser_{timestamp}.log') | |
# Configure logging | |
logging.basicConfig( | |
level=log_level, | |
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', | |
handlers=[ | |
logging.FileHandler(log_file), | |
logging.StreamHandler() # Also log to console | |
] | |
) | |
return logging.getLogger('cv_parser') | |
# Create a default logger instance | |
logger = setup_logger() |