"""Structured logging for LogiFlow AI — loguru setup with standard logging fallback.""" import sys import os import logging from pathlib import Path try: from loguru import logger Path("logs").mkdir(exist_ok=True) logger.remove() logger.add( sys.stderr, format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", level=os.getenv("LOG_LEVEL", "INFO"), colorize=False, ) logger.add( "logs/logiflow_{time:YYYY-MM-DD}.log", rotation="100 MB", retention="30 days", compression="gz", level="DEBUG", format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", ) except ImportError: logging.basicConfig(level=logging.INFO, format="%(asctime)s | %(levelname)-8s | %(message)s") logger = logging.getLogger("logiflow") __all__ = ["logger"]