Skip to content

Commit 2d9f104

Browse files
committed
fix: correct context agent logger name from chef to context-agent
1 parent 4929ea8 commit 2d9f104

2 files changed

Lines changed: 68 additions & 7 deletions

File tree

agents/context_agent/context_agent.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import logging
33
from llama_stack_client import LlamaStackClient
44
from llama_stack_client.types import UserMessage
5-
from shared.log_utils import create_chef_logger, step_printer
5+
from shared.log_utils import create_correlation_logger, step_printer
66
from datetime import datetime
77

88
class ContextAgent:
@@ -18,7 +18,7 @@ def __init__(self, client: LlamaStackClient, agent_id: str, session_id: str, vec
1818
# Model will be determined from agent configuration, not hard-coded
1919

2020
# Use shared logging utilities with correlation ID
21-
self.logger = create_chef_logger("context-agent-init")
21+
self.logger = create_correlation_logger("context-agent", "context-agent-init")
2222

2323
self.logger.info("ContextAgent initialized")
2424
self.logger.info(f"Vector DB: {self.vector_db_id}")
@@ -35,7 +35,7 @@ def create_new_session(self, correlation_id: str) -> str:
3535
)
3636
session_id = response.session_id
3737
# Create logger with correlation ID for this session
38-
session_logger = create_chef_logger(correlation_id)
38+
session_logger = create_correlation_logger("context-agent", correlation_id)
3939
session_logger.info(f"Created context session: {session_id} for correlation: {correlation_id}")
4040
return session_id
4141
except Exception as e:
@@ -47,7 +47,7 @@ async def query_context(self, code, top_k=5, correlation_id=None):
4747
correlation_id = correlation_id or str(uuid.uuid4())
4848

4949
# Create logger with correlation ID for this query
50-
query_logger = create_chef_logger(correlation_id)
50+
query_logger = create_correlation_logger("context-agent", correlation_id)
5151

5252
query_logger.info(f"Sending query to ContextAgent: {repr(code)[:200]}...")
5353
query_logger.info(f"Using vector DB: {self.vector_db_id}")
@@ -266,7 +266,7 @@ async def query_context_stream(self, code, top_k=5, correlation_id=None):
266266
correlation_id = correlation_id or str(uuid.uuid4())
267267

268268
# Create logger with correlation ID for this query
269-
query_logger = create_chef_logger(correlation_id)
269+
query_logger = create_correlation_logger("context-agent", correlation_id)
270270

271271
query_logger.info(f"Starting streaming query: {repr(code)[:200]}...")
272272

shared/log_utils.py

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,70 @@ def log_step_completion(self, step_name: str, step_number: int, total_steps: int
106106
self.info(f"Completed {step_name} ({step_number}/{total_steps} - {progress:.1f}%)")
107107

108108

109-
def step_printer(steps: List[Any], logger: Optional[ChefAnalysisLogger] = None):
109+
class CorrelationLogger:
110+
"""Generic logger for any agent type with correlation ID tracking."""
111+
112+
def __init__(self, agent_name: str, correlation_id: str):
113+
self.agent_name = agent_name
114+
self.correlation_id = correlation_id
115+
self.logger = logging.getLogger(f"{agent_name}_{correlation_id}")
116+
self.logger.setLevel(logging.INFO)
117+
118+
# Create console handler if not already exists
119+
if not self.logger.handlers:
120+
console_handler = logging.StreamHandler(sys.stdout)
121+
console_handler.setLevel(logging.INFO)
122+
123+
# Create formatter
124+
formatter = logging.Formatter(
125+
'%(asctime)s - %(name)s - %(levelname)s - [%(correlation_id)s] %(message)s'
126+
)
127+
console_handler.setFormatter(formatter)
128+
self.logger.addHandler(console_handler)
129+
130+
# Add correlation ID to log records
131+
for handler in self.logger.handlers:
132+
handler.setFormatter(logging.Formatter(
133+
'%(asctime)s - %(name)s - %(levelname)s - [%(correlation_id)s] %(message)s'
134+
))
135+
136+
def _log_with_correlation(self, level: str, message: str):
137+
"""Log message with correlation ID."""
138+
extra = {'correlation_id': self.correlation_id}
139+
if level == 'info':
140+
self.logger.info(message, extra=extra)
141+
elif level == 'warning':
142+
self.logger.warning(message, extra=extra)
143+
elif level == 'error':
144+
self.logger.error(message, extra=extra)
145+
elif level == 'debug':
146+
self.logger.debug(message, extra=extra)
147+
148+
def info(self, message: str):
149+
"""Log info message."""
150+
self._log_with_correlation('info', message)
151+
152+
def warning(self, message: str):
153+
"""Log warning message."""
154+
self._log_with_correlation('warning', message)
155+
156+
def error(self, message: str):
157+
"""Log error message."""
158+
self._log_with_correlation('error', message)
159+
160+
def debug(self, message: str):
161+
"""Log debug message."""
162+
self._log_with_correlation('debug', message)
163+
164+
165+
def step_printer(steps: List[Any], logger: Optional[Any] = None):
110166
"""
111167
Print the steps of an agent's response in a formatted way.
112168
Enhanced version with Chef Analysis specific logging.
113169
114170
Args:
115171
steps: List of steps from an agent's response
116-
logger: Optional ChefAnalysisLogger instance
172+
logger: Optional logger instance (ChefAnalysisLogger or CorrelationLogger)
117173
"""
118174
if not steps:
119175
if logger:
@@ -188,6 +244,11 @@ def create_chef_logger(correlation_id: str) -> ChefAnalysisLogger:
188244
return ChefAnalysisLogger(correlation_id)
189245

190246

247+
def create_correlation_logger(agent_name: str, correlation_id: str) -> CorrelationLogger:
248+
"""Create a generic correlation logger for any agent type."""
249+
return CorrelationLogger(agent_name, correlation_id)
250+
251+
191252
def setup_logging(level: str = "INFO") -> None:
192253
"""Setup basic logging configuration."""
193254
logging.basicConfig(

0 commit comments

Comments
 (0)