mirror of https://github.com/borgbackup/borg.git
improve at-end error logging
always use archiver.print_error, so it goes to sys.stderr always say "Error: ..." for errors for rc != 0 always say "Exiting with failure status ..." catch all exceptions subclassing Exception, so we can log them in same way and set exit_code=1
This commit is contained in:
parent
6964799d13
commit
89db9b8b9e
|
@ -866,19 +866,19 @@ def main():
|
||||||
try:
|
try:
|
||||||
exit_code = archiver.run(sys.argv[1:])
|
exit_code = archiver.run(sys.argv[1:])
|
||||||
except Error as e:
|
except Error as e:
|
||||||
traceback.print_exc()
|
archiver.print_error(e.get_message() + "\n%s" % traceback.format_exc())
|
||||||
archiver.print_error(e.get_message())
|
|
||||||
exit_code = e.exit_code
|
exit_code = e.exit_code
|
||||||
except RemoteRepository.RPCError as e:
|
except RemoteRepository.RPCError as e:
|
||||||
print(e)
|
archiver.print_error('Error: Remote Exception.\n%s' % str(e))
|
||||||
|
exit_code = 1
|
||||||
|
except Exception:
|
||||||
|
archiver.print_error('Error: Local Exception.\n%s' % traceback.format_exc())
|
||||||
exit_code = 1
|
exit_code = 1
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
traceback.print_exc()
|
archiver.print_error('Error: Keyboard interrupt.\n%s' % traceback.format_exc())
|
||||||
archiver.print_error('Error: Keyboard interrupt')
|
|
||||||
exit_code = 1
|
exit_code = 1
|
||||||
else:
|
if exit_code:
|
||||||
if exit_code:
|
archiver.print_error('Exiting with failure status due to previous errors')
|
||||||
archiver.print_error('Exiting with failure status due to previous errors')
|
|
||||||
sys.exit(exit_code)
|
sys.exit(exit_code)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue