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) | ||
