Skip to content

Commit dfd00a5

Browse files
APX103mmmay0722
authored andcommitted
[feat] Update log pruning
1 parent e1a237e commit dfd00a5

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

webqa_agent/utils/get_log.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
}
1414

1515
COLORS = {
16-
'DEBUG': '\033[34m', # blue
17-
'INFO': '\033[32m', # green
18-
'WARNING': '\033[33m', # yellow
19-
'ERROR': '\033[31m', # red
20-
'CRITICAL': '\033[31m', # red
16+
'DEBUG': '\033[1;34m', # blue
17+
'INFO': '\033[1;32m', # green
18+
'WARNING': '\033[1;33m', # yellow
19+
'ERROR': '\033[1;31m', # red
20+
'CRITICAL': '\033[1;31m', # red
2121
'ENDC': '\033[0m' # reset
2222
}
2323

webqa_agent/utils/task_display_util.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
from typing import Optional, List
1111
from collections import deque
1212

13+
from webqa_agent.utils.get_log import COLORS
14+
1315

1416
@dataclass
1517
class TaskInfo:
@@ -75,6 +77,8 @@ def __init__(self, refresh_interval: float = 0.1):
7577
hdr.setStream(self.captured_output)
7678
self.logger_handlers.append(hdr)
7779

80+
self.log_pattern = re.compile(r"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d+)(\s+)(\w+)(\s+\[.*?]\s+\[.*?]\s+-\s+)(.*)")
81+
7882
def __call__(self, name: str):
7983
return _Tracker(self, name)
8084

@@ -128,9 +132,20 @@ def _render_frame(self):
128132
out.write("-" * col + "\n")
129133
length = min(self.num_log, len(lines))
130134
for ln in range(length):
131-
line = remove_ansi_escape_sequences(str(lines[-length + ln]))
132-
if len(line) >= col:
133-
out.write(f"{line[:col-3]}"+"...\n")
135+
line = lines[-length + ln]
136+
_line = remove_ansi_escape_sequences(str(line))
137+
if len(_line) >= col:
138+
match = self.log_pattern.search(_line[:col - 3])
139+
if match:
140+
timestamp, space1, loglevel, middle, message = match.groups()
141+
color = COLORS[loglevel]
142+
end = COLORS['ENDC']
143+
colored_loglevel = f"{color}{loglevel}{end}"
144+
colored_message = f"{color}{message}{end}"
145+
_line = f"{timestamp}{space1}{colored_loglevel}{middle}{colored_message}"
146+
out.write(f"{_line}" + "...\n")
147+
else:
148+
out.write(f"{_line[:col-3]}"+"...\n")
134149
else:
135150
out.write(line + "\n")
136151
out.flush()

0 commit comments

Comments
 (0)