ml-intern / agent /utils /logging.py
akseljoonas's picture
akseljoonas HF Staff
minimal impl. of the agent
f730cdd
raw
history blame
1.06 kB
"""
Logging utilities
"""
import logging
import sys
from pathlib import Path
from typing import Optional
def setup_logger(
name: str = "hf_agent", level: int = logging.INFO, log_file: Optional[Path] = None
) -> logging.Logger:
"""Setup and configure logger"""
logger = logging.getLogger(name)
logger.setLevel(level)
# Remove existing handlers
logger.handlers = []
# Console handler
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(level)
console_format = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
console_handler.setFormatter(console_format)
logger.addHandler(console_handler)
# File handler if log_file specified
if log_file:
log_file.parent.mkdir(parents=True, exist_ok=True)
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(level)
file_handler.setFormatter(console_format)
logger.addHandler(file_handler)
return logger