deploymate / app /core /logging.py
shakauthossain's picture
Version 1.0.0
4e9eb6a
raw
history blame contribute delete
928 Bytes
"""
Logging configuration for the DevOps Toolkit API.
"""
import sys
from loguru import logger as loguru_logger
from app.core.config import settings
def setup_logging():
"""Configure application logging."""
# Remove default handler
loguru_logger.remove()
# Add file handler with rotation and retention
loguru_logger.add(
settings.logs_dir / "devops_toolkit.log",
rotation="10 MB",
retention="1 week",
level=settings.log_level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level} | "
"{name}:{function}:{line} | {message}",
backtrace=True,
diagnose=True,
)
# Add console handler
loguru_logger.add(
sys.stdout,
level=settings.log_level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}",
colorize=True,
)
return loguru_logger
# Global logger instance
logger = setup_logging()