Spaces:
Build error
Build error
import logging | |
import os | |
from datetime import datetime | |
# from config import LOGS_DIR | |
# Create logs directory if it doesn't exist | |
LOGS_DIR = "logs_directory" | |
os.makedirs(LOGS_DIR, exist_ok=True) | |
# Generate filename with timestamp | |
log_filename = os.path.join( | |
LOGS_DIR, f"app_{datetime.now().strftime('%Y%m%d')}.log") | |
def setup_logger(name): | |
""" | |
Create a logger with the specified name that writes to both file and console | |
""" | |
logger = logging.getLogger(name) | |
# Only configure if it hasn't been configured yet | |
if not logger.handlers: | |
logger.setLevel(logging.DEBUG) | |
# Create file handler | |
file_handler = logging.FileHandler(log_filename) | |
file_handler.setLevel(logging.DEBUG) | |
file_formatter = logging.Formatter( | |
'%(asctime)s - %(name)s - %(levelname)s - [%(filename)s:%(lineno)d] - %(message)s', | |
datefmt='%Y-%m-%d %H:%M:%S' | |
) | |
file_handler.setFormatter(file_formatter) | |
# Create console handler | |
console_handler = logging.StreamHandler() | |
console_handler.setLevel(logging.INFO) # Less verbose for console | |
console_formatter = logging.Formatter( | |
'%(levelname)s - %(name)s - %(message)s' | |
) | |
console_handler.setFormatter(console_formatter) | |
# Add handlers to logger | |
logger.addHandler(file_handler) | |
logger.addHandler(console_handler) | |
return logger | |
logger = setup_logger(__name__) | |