|
|
import logging |
|
|
import logging.config |
|
|
from config import settings |
|
|
import os |
|
|
|
|
|
def setup_logging(): |
|
|
"""Setup logging configuration""" |
|
|
|
|
|
log_dir = os.path.dirname(settings.log_file) |
|
|
if log_dir and not os.path.exists(log_dir): |
|
|
os.makedirs(log_dir) |
|
|
|
|
|
|
|
|
logging.basicConfig( |
|
|
level=getattr(logging, settings.log_level.upper()), |
|
|
format=settings.log_format, |
|
|
handlers=[ |
|
|
logging.FileHandler(settings.log_file), |
|
|
logging.StreamHandler() |
|
|
] |
|
|
) |
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
logger.info(f"Logging initialized with level: {settings.log_level}") |
|
|
|
|
|
return logger |
|
|
|
|
|
|
|
|
logger = setup_logging() |
|
|
|
|
|
def get_logger(name: str = None): |
|
|
"""Get a logger instance with the specified name""" |
|
|
if name: |
|
|
return logging.getLogger(name) |
|
|
else: |
|
|
return logger |