File size: 1,278 Bytes
cfeb3a6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import logging
from datetime import datetime
from pathlib import Path
class AgentLogger:
def __init__(self, log_dir="logs"):
self.log_dir = Path(log_dir)
self.log_dir.mkdir(exist_ok=True)
self.logger = logging.getLogger("agent_logger")
self.logger.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
file_handler = logging.FileHandler(self.log_dir / f"agents_{datetime.now().strftime('%Y%m%d')}.log")
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
self.logger.addHandler(console_handler)
self.logger.addHandler(file_handler)
def log_workflow_step(self, agent_name, message):
self.logger.info(f"{agent_name}: {message}")
def log_agent_output(self, agent_name, output, method, duration):
self.logger.debug(f"{agent_name} {method} output: {output} ({duration}s)")
def log_inter_agent_pass(self, from_agent, to_agent, data_size):
self.logger.info(f"π PASS: {from_agent} β {to_agent} | Size: {data_size}")
agent_logger = AgentLogger() |