Source code for world_models.utils.logging_utils

import logging
import os
from typing import Optional


[docs] def setup_logging( name: str, level: str = "INFO", log_file: Optional[str] = None ) -> logging.Logger: """Set up consistent logging for torchwm modules.""" logger = logging.getLogger(name) logger.setLevel(getattr(logging, level.upper())) # Remove existing handlers for handler in logger.handlers[:]: logger.removeHandler(handler) # Create formatter formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) # Console handler console_handler = logging.StreamHandler() console_handler.setFormatter(formatter) logger.addHandler(console_handler) # File handler if specified if log_file: os.makedirs(os.path.dirname(log_file), exist_ok=True) file_handler = logging.FileHandler(log_file) file_handler.setFormatter(formatter) logger.addHandler(file_handler) return logger