Print a failed command's error once on stderr (closes #433)
check / check (push) Failing after 15m58s
check / check (push) Failing after 15m58s
A command that failed after startup wrote the error twice on stderr: as an ERROR log record and as the final ERROR: line. The failure handlers now log the failure at info level, so the record appears only under --verbose or --debug, next to the records that led up to it. A failed blob upload is logged at info level for the same reason. A restore that stops on a file it cannot restore no longer logs that file's error, which the final line carries; under --skip-errors it is still logged. Model: opus-5-5
This commit is contained in:
1 parent
7aae6e4ff3
commit
7fe467b3ba
11 files changed
+232
-21
No files matched your search
@@ -85,6 +85,10 @@ func emitStartupBanner(args []string, w io.Writer) {
|
||||
// 🛑 ERROR: format. Use it from goroutine error paths (where returning
|
||||
// an error to cobra isn't an option) and anywhere else a CLI command
|
||||
// must surface a failure outside the normal RunE return path.
|
||||
//
|
||||
// This line is the one report of the failure. A caller that also logs
|
||||
// the failure logs it at info level, so the record appears only under
|
||||
// --verbose or --debug and the error is not printed twice.
|
||||
func ReportErrorf(format string, args ...any) {
|
||||
ui.New(os.Stderr).Errorf(format, args...)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user