mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 08:08:32 +00:00
Merge pull request #954 from crewAIInc/hotfix/improve-async-logging
Fix logging for async and sync tasks
This commit is contained in:
@@ -657,6 +657,7 @@ class Crew(BaseModel):
|
|||||||
context = self._get_context(
|
context = self._get_context(
|
||||||
task, [last_sync_output] if last_sync_output else []
|
task, [last_sync_output] if last_sync_output else []
|
||||||
)
|
)
|
||||||
|
self._log_task_start(task, agent_to_use.role)
|
||||||
future = task.execute_async(
|
future = task.execute_async(
|
||||||
agent=agent_to_use,
|
agent=agent_to_use,
|
||||||
context=context,
|
context=context,
|
||||||
@@ -669,6 +670,7 @@ class Crew(BaseModel):
|
|||||||
futures.clear()
|
futures.clear()
|
||||||
|
|
||||||
context = self._get_context(task, task_outputs)
|
context = self._get_context(task, task_outputs)
|
||||||
|
self._log_task_start(task, agent_to_use.role)
|
||||||
task_output = task.execute_sync(
|
task_output = task.execute_sync(
|
||||||
agent=agent_to_use,
|
agent=agent_to_use,
|
||||||
context=context,
|
context=context,
|
||||||
@@ -741,9 +743,8 @@ class Crew(BaseModel):
|
|||||||
# Add the new tool
|
# Add the new tool
|
||||||
task.tools.append(new_tool)
|
task.tools.append(new_tool)
|
||||||
|
|
||||||
def _log_task_start(self, task: Task, agent: Optional[BaseAgent]):
|
def _log_task_start(self, task: Task, role: str = "None"):
|
||||||
color = self._logging_color
|
color = self._logging_color
|
||||||
role = agent.role if agent else "None"
|
|
||||||
self._logger.log("debug", f"== Working Agent: {role}", color=color)
|
self._logger.log("debug", f"== Working Agent: {role}", color=color)
|
||||||
self._logger.log("info", f"== Starting Task: {task.description}", color=color)
|
self._logger.log("info", f"== Starting Task: {task.description}", color=color)
|
||||||
if self.output_log_file:
|
if self.output_log_file:
|
||||||
@@ -792,7 +793,7 @@ class Crew(BaseModel):
|
|||||||
futures: List[Tuple[Task, Future[TaskOutput], int]],
|
futures: List[Tuple[Task, Future[TaskOutput], int]],
|
||||||
was_replayed: bool = False,
|
was_replayed: bool = False,
|
||||||
) -> List[TaskOutput]:
|
) -> List[TaskOutput]:
|
||||||
task_outputs = []
|
task_outputs: List[TaskOutput] = []
|
||||||
for future_task, future, task_index in futures:
|
for future_task, future, task_index in futures:
|
||||||
task_output = future.result()
|
task_output = future.result()
|
||||||
task_outputs.append(task_output)
|
task_outputs.append(task_output)
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ from copy import copy
|
|||||||
from hashlib import md5
|
from hashlib import md5
|
||||||
from typing import Any, Dict, List, Optional, Tuple, Type, Union
|
from typing import Any, Dict, List, Optional, Tuple, Type, Union
|
||||||
|
|
||||||
|
|
||||||
from langchain_openai import ChatOpenAI
|
from langchain_openai import ChatOpenAI
|
||||||
from opentelemetry.trace import Span
|
from opentelemetry.trace import Span
|
||||||
from pydantic import UUID4, BaseModel, Field, field_validator, model_validator
|
from pydantic import UUID4, BaseModel, Field, field_validator, model_validator
|
||||||
@@ -255,9 +254,7 @@ class Task(BaseModel):
|
|||||||
content = (
|
content = (
|
||||||
json_output
|
json_output
|
||||||
if json_output
|
if json_output
|
||||||
else pydantic_output.model_dump_json()
|
else pydantic_output.model_dump_json() if pydantic_output else result
|
||||||
if pydantic_output
|
|
||||||
else result
|
|
||||||
)
|
)
|
||||||
self._save_file(content)
|
self._save_file(content)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user