@@ -23,10 +23,10 @@ def __init__(self, max_capacity: int = 100, max_message_length: int = 15000, lev
2323 self .max_message_length : int = max_message_length
2424 self .thread_data = threading .local ()
2525 self .thread_data .log_queue = deque (maxlen = self .max_capacity )
26- self .thread_data .task_name = 'Unknown'
2726 self .formatter = logging .Formatter ('%(levelname)s: %(message)s' )
2827 self .console_formatter = logging .Formatter (
29- '%(asctime)s | %(threadName)s | %(levelname)s | task: %(taskname)s | %(message)s' , datefmt = '%F %T' )
28+ '%(asctime)s | %(threadName)s | %(levelname)s | %(task_info)s | %(message)s' ,
29+ datefmt = '%F %T' )
3030 self .console_handler = logging .StreamHandler ()
3131 self .console_handler .setFormatter (self .console_formatter )
3232
@@ -38,10 +38,7 @@ def emit(self, record: logging.LogRecord) -> None:
3838 if not hasattr (self .thread_data , 'log_queue' ):
3939 self ._setup_thread_logging ()
4040
41- if not hasattr (self .thread_data , 'task_name' ):
42- self .thread_data .task_name = 'Unknown'
43-
44- record .taskname = self .thread_data .task_name
41+ record .task_info = getattr (self .thread_data , 'task_info' , 'Unknown' )
4542
4643 formatted_record : str = self .format (record )
4744 truncated_record : str = self ._truncate_message (formatted_record )
@@ -63,11 +60,12 @@ def _setup_thread_logging(self) -> None:
6360 """
6461 self .thread_data .log_queue = deque (maxlen = self .max_capacity )
6562
66- def set_taskname_for_thread (self , task_name : str ) -> None :
63+ def set_task_info_for_thread (self , * args : str ) -> None :
6764 """
68- Set the task name for the current thread.
65+ Set task-specific information for the current thread.
6966 """
70- self .thread_data .task_name = task_name
67+ delimiter : str = ' '
68+ self .thread_data .task_info = delimiter .join (str (arg ) for arg in args )
7169
7270 def get_logs (self , clear : bool = True ) -> list [str ]:
7371 """
@@ -89,4 +87,11 @@ def _clear_taskname_for_thread(self) -> None:
8987 Clear the task name for the current thread.
9088 """
9189 if hasattr (self .thread_data , 'task_name' ):
92- del self .thread_data .task_name
90+ del self .thread_data .task_name
91+
92+
93+ # Task logger setup
94+ task_log_handler = TaskLogHandler (max_capacity = 100 , max_message_length = 15000 )
95+ task_logger = logging .getLogger ('task_logger' )
96+ task_logger .addHandler (task_log_handler )
97+ task_logger .propagate = False
0 commit comments