34 lines
850 B
Python
34 lines
850 B
Python
from loguru import logger
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
def setup_logging(log_level: str = "INFO", log_file: str = "app.log"):
|
|
"""Setup logging configuration with loguru"""
|
|
|
|
# Remove default handler
|
|
logger.remove()
|
|
|
|
# Add console handler
|
|
logger.add(
|
|
sys.stdout,
|
|
level=log_level,
|
|
format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
|
|
)
|
|
|
|
# Add file handler
|
|
log_path = Path(log_file)
|
|
logger.add(
|
|
log_path,
|
|
level=log_level,
|
|
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
|
|
rotation="10 MB",
|
|
retention="1 week",
|
|
)
|
|
|
|
return logger
|
|
|
|
|
|
# Global logger instance
|
|
log = setup_logging()
|