diff options
author | Aravind Vasudevan <aravindvasudev@google.com> | 2023-09-14 22:54:04 +0000 |
---|---|---|
committer | LUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-09-18 20:06:30 +0000 |
commit | b8fd19215f59f7f8dbe69528aefca700a2190ecd (patch) | |
tree | 6f6ac455d16b0e58fd6cf16475d11ba7407883ca /repo_logging.py | |
parent | 7a1f1f70f0587795e2b6979adf7eac389037de57 (diff) | |
download | git-repo-b8fd19215f59f7f8dbe69528aefca700a2190ecd.tar.gz |
main: Use repo logger
Bug: b/292704435
Change-Id: Ica02e4c00994a2f64083bb36e8f4ee8aa45d76bd
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/386454
Reviewed-by: Jason Chang <jasonnc@google.com>
Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
Tested-by: Aravind Vasudevan <aravindvasudev@google.com>
Diffstat (limited to 'repo_logging.py')
-rw-r--r-- | repo_logging.py | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/repo_logging.py b/repo_logging.py index 7d050555..58625351 100644 --- a/repo_logging.py +++ b/repo_logging.py | |||
@@ -15,12 +15,13 @@ | |||
15 | """Logic for printing user-friendly logs in repo.""" | 15 | """Logic for printing user-friendly logs in repo.""" |
16 | 16 | ||
17 | import logging | 17 | import logging |
18 | from typing import List | ||
19 | 18 | ||
20 | from color import Coloring | 19 | from color import Coloring |
20 | from error import RepoExitError | ||
21 | 21 | ||
22 | 22 | ||
23 | SEPARATOR = "=" * 80 | 23 | SEPARATOR = "=" * 80 |
24 | MAX_PRINT_ERRORS = 5 | ||
24 | 25 | ||
25 | 26 | ||
26 | class _ConfigMock: | 27 | class _ConfigMock: |
@@ -70,8 +71,22 @@ class RepoLogger(logging.Logger): | |||
70 | handler.setFormatter(_LogColoringFormatter(config)) | 71 | handler.setFormatter(_LogColoringFormatter(config)) |
71 | self.addHandler(handler) | 72 | self.addHandler(handler) |
72 | 73 | ||
73 | def log_aggregated_errors(self, errors: List[Exception]): | 74 | def log_aggregated_errors(self, err: RepoExitError): |
74 | """Print all aggregated logs.""" | 75 | """Print all aggregated logs.""" |
75 | super().error(SEPARATOR) | 76 | self.error(SEPARATOR) |
76 | super().error("Repo command failed due to following errors:") | 77 | |
77 | super().error("\n".join(str(e) for e in errors)) | 78 | if not err.aggregate_errors: |
79 | self.error("Repo command failed: %s", type(err).__name__) | ||
80 | return | ||
81 | |||
82 | self.error( | ||
83 | "Repo command failed due to the following `%s` errors:", | ||
84 | type(err).__name__, | ||
85 | ) | ||
86 | self.error( | ||
87 | "\n".join(str(e) for e in err.aggregate_errors[:MAX_PRINT_ERRORS]) | ||
88 | ) | ||
89 | |||
90 | diff = len(err.aggregate_errors) - MAX_PRINT_ERRORS | ||
91 | if diff: | ||
92 | self.error("+%d additional errors...", diff) | ||