TradingAgents/tradingagents/utils/logger.py

40 lines
1.3 KiB
Python

import logging
import os
from pathlib import Path
def setup_logger(name: str, log_file: str = "trading_agents.log", level=logging.INFO):
"""Function to setup a logger; can be called multiple times for different loggers."""
# Check if this logger already exists to avoid duplicate handlers
logger = logging.getLogger(name)
if logger.handlers:
return logger
logger.setLevel(level)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# Console Handler (Optional - Commented out to keep CLI clean)
# ch = logging.StreamHandler()
# ch.setFormatter(formatter)
# logger.addHandler(ch)
# File Handler
try:
# Create logs directory if it doesn't exist?
# For now, keep in root or specific path.
# Using current working directory for simplicity as requested.
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
except IOError as e:
print(f"Error setting up logger file handler: {e}")
return logger
# Create main system logger
app_logger = setup_logger("TradingAgents", "agent.log")
# Create override specific logger
override_logger = setup_logger("OverrideLogic", "agent.log")