diff options
author | Jeremy Bettis <jbettis@google.com> | 2021-04-30 11:37:02 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-05-03 17:47:27 +0000 |
commit | 05dbe623cecc3a2de3348e85876693ae08fd910b (patch) | |
tree | cde793b539c74c4ebf67406caa892bf40194f791 /zephyr/zmake/zmake/multiproc.py | |
parent | 7d31b2f86b7d7f825284ddaf4d360330e7d01afd (diff) | |
download | chrome-ec-05dbe623cecc3a2de3348e85876693ae08fd910b.tar.gz |
zmake: Prefix logs with the name of the project
Since many commands are running in parallel, prefix each line of output
with the project that generated that output.
BUG=b:184298184
TEST=zmake testall
BRANCH=None
Change-Id: I1d5d66c0c1366aff96ac0b46a290c52c6db747a4
Signed-off-by: Jeremy Bettis <jbettis@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2863943
Tested-by: Jeremy Bettis <jbettis@chromium.org>
Reviewed-by: Yuval Peress <peress@chromium.org>
Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to 'zephyr/zmake/zmake/multiproc.py')
-rw-r--r-- | zephyr/zmake/zmake/multiproc.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/zephyr/zmake/zmake/multiproc.py b/zephyr/zmake/zmake/multiproc.py index 54df471652..f35ad8d1ab 100644 --- a/zephyr/zmake/zmake/multiproc.py +++ b/zephyr/zmake/zmake/multiproc.py @@ -46,13 +46,15 @@ class LogWriter: _written_at_level: dict: key: log_level value: True if output was written at that level + _job_id: The name to prepend to logged lines """ - def __init__(self, logger, log_level, log_level_override_func): + def __init__(self, logger, log_level, log_level_override_func, job_id): self._logger = logger self._log_level = log_level self._override_func = log_level_override_func # A map whether output was printed at each logging level self._written_at_level = collections.defaultdict(lambda: False) + self._job_id = job_id def log_line(self, line): """Log a line of output @@ -70,7 +72,10 @@ class LogWriter: # greatly simplifies the logic that is needed to update the log # level. self._log_level = self._override_func(line, self._log_level) - self._logger.log(self._log_level, line) + if self._job_id: + self._logger.log(self._log_level, "[%s]%s", self._job_id, line) + else: + self._logger.log(self._log_level, line) self._written_at_level[self._log_level] = True def has_written(self, log_level): @@ -162,7 +167,7 @@ _logging_thread = threading.Thread(target=_logging_loop, daemon=True) def log_output(logger, log_level, file_descriptor, - log_level_override_func=None): + log_level_override_func=None, job_id=None): """Log the output from the given file descriptor. Args: @@ -179,7 +184,11 @@ def log_output(logger, log_level, file_descriptor, with _logging_cv: if not _logging_thread.is_alive(): _logging_thread.start() - writer = LogWriter(logger, log_level, log_level_override_func) + writer = LogWriter( + logger, + log_level, + log_level_override_func, + job_id) _logging_map[file_descriptor] = writer # Write a dummy byte to the pipe to break the select so we can add the # new fd. |