Print a failed command's error once on stderr (closes #433)
check / check (push) Failing after 9m31s
check / check (push) Failing after 9m31s
A failed command printed its error twice on stderr: as an ERROR log record and as the final ERROR: line the README documents. The command handlers, a restore failure that ends the command and a failed blob upload now log that error at info level or not at all, so without --verbose or --debug only the final line appears. Model: opus-5-5
This commit was merged in pull request #451.
This commit is contained in:
1 parent
5f1f8c4f66
commit
6a8bb2f389
12 files changed
+247
-25
No files matched your search
@@ -667,19 +667,19 @@ func (v *Vaultik) restoreProgressTick(
|
||||
|
||||
// handleRestoreFileError records a per-file restore failure: fatal unless
|
||||
// --skip-errors is set, in which case the file is counted as failed and
|
||||
// dropped from the plan.
|
||||
// dropped from the plan. A fatal failure is not logged here: the returned
|
||||
// error is printed as the command's ERROR: line.
|
||||
func (v *Vaultik) handleRestoreFileError(
|
||||
plan *restorePlan, opts *RestoreOptions, result *RestoreResult,
|
||||
file *database.File, fileID types.FileID, err error,
|
||||
) error {
|
||||
log.Error("Failed to restore file", "path", file.Path, "error", err)
|
||||
|
||||
if !opts.SkipErrors {
|
||||
return fmt.Errorf(
|
||||
"restoring %s: %w (pass --skip-errors to continue past "+
|
||||
"restore failures)", file.Path, err)
|
||||
}
|
||||
|
||||
log.Error("Failed to restore file", "path", file.Path, "error", err)
|
||||
v.UI.Errorf("Failed to restore %s: %v. Skipping (--skip-errors).",
|
||||
v.UI.Path(file.Path.String()), err)
|
||||
|
||||
|
||||
Reference in new issue
Block a user