@@ -34,6 +34,7 @@ def __init__(
3434 save_answer : bool = True ,
3535 input_schema_mapping : dict = None ,
3636 output_schema_mapping : dict = None ,
37+ max_print_output_length : int = 200 ,
3738 ** kwargs ,
3839 ):
3940 """Initialize the async tool operator.
@@ -44,6 +45,7 @@ def __init__(
4445 save_answer: If True, write primary output into `response.answer`.
4546 input_schema_mapping: Optional mapping from input names to context keys.
4647 output_schema_mapping: Optional mapping from output names to context keys.
48+ max_print_output_length: Maximum length of output strings to log.
4749 **kwargs: Extra arguments forwarded to `BaseAsyncOp`.
4850 """
4951 super ().__init__ (** kwargs )
@@ -53,6 +55,7 @@ def __init__(
5355 self .save_answer : bool = save_answer
5456 self .input_schema_mapping : dict | None = input_schema_mapping # map key to context
5557 self .output_schema_mapping : dict | None = output_schema_mapping # map key to context
58+ self .max_print_output_length : int = max_print_output_length
5659
5760 self ._tool_call : ToolCall | None = None
5861 self .input_dict : dict = {} # Actual input values extracted from context
@@ -233,10 +236,14 @@ async def async_after_execute(self):
233236 self .context .response .answer = json .dumps (self .output_dict , ensure_ascii = False )
234237
235238 if self .enable_print_output :
239+ output_str = str (self .output_dict )
240+ if len (output_str ) > self .max_print_output_length :
241+ output_str = f"{ output_str [:self .max_print_output_length ]} ..."
242+
236243 if self .tool_index == 0 :
237- logger .info (f"{ self .name } .output_dict={ self . output_dict } " )
244+ logger .info (f"{ self .name } .output_dict={ output_str } " )
238245 else :
239- logger .info (f"{ self .name } .{ self .tool_index } .output_dict={ self . output_dict } " )
246+ logger .info (f"{ self .name } .{ self .tool_index } .output_dict={ output_str } " )
240247
241248 async def async_default_execute (self , e : Exception = None , ** kwargs ):
242249 """Fill outputs with a default failure message when execution fails.
0 commit comments