Skip to content

Commit a3ef7e6

Browse files
peshenceCopilot
andauthored
fix(mars): subprocess line-based error logging
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent d561ed8 commit a3ef7e6

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

polytope_server/common/subprocess.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,16 @@ def _flush_buffer(self, buffer, log_func, request, err_filter):
104104
if not buffer:
105105
return
106106
message = "\n".join(buffer)
107-
log_method = logging.error if err_filter and err_filter in message else log_func
107+
if err_filter:
108+
matching_lines = [line for line in buffer if err_filter in line]
109+
has_error = bool(matching_lines)
110+
else:
111+
matching_lines = []
112+
has_error = False
113+
log_method = logging.error if has_error else log_func
108114
log_method(message)
109-
if err_filter and err_filter in message:
110-
request.user_message += message + "\n"
115+
if matching_lines:
116+
request.user_message += "\n".join(matching_lines) + "\n"
111117
buffer.clear()
112118

113119
def _get_buffer_and_logger(self, fd):

0 commit comments

Comments
 (0)