|
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 |