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()