diff --git a/src/borg/locking.py b/src/borg/locking.py index 02c1c758a..66d6a3bc5 100644 --- a/src/borg/locking.py +++ b/src/borg/locking.py @@ -6,11 +6,13 @@ import sys import time from .helpers import Error, ErrorWithTraceback +from .logger import create_logger from .platform import process_alive, get_process_id ADD, REMOVE = 'add', 'remove' SHARED, EXCLUSIVE = 'shared', 'exclusive' +logger = create_logger(__name__) class TimeoutTimer: @@ -173,16 +175,18 @@ class ExclusiveLock: if not self.ok_to_kill_stale_locks: if not self.stale_warning_printed: - print(("Found stale lock %s, but not deleting because BORG_UNIQUE_HOSTNAME is not set." % name), file=sys.stderr) + # Log this at warning level to hint the user at the ability + logger.warning("Found stale lock %s, but not deleting because BORG_UNIQUE_HOSTNAME is not set.", name) self.stale_warning_printed = True return False try: os.unlink(os.path.join(self.path, name)) - print(("Killed stale lock %s." % name), file=sys.stderr) + logger.warning('Killed stale lock %s.', name) except OSError as err: if not self.stale_warning_printed: - print(("Found stale lock %s, but cannot delete due to %s" % (name, str(err))), file=sys.stderr) + # This error will bubble up and likely result in locking failure + logger.error('Found stale lock %s, but cannot delete due to %s', name, str(err)) self.stale_warning_printed = True return False @@ -230,7 +234,7 @@ class LockRoster: if not process_alive(host, pid, thread): elements.add(tuple(e)) else: - print(("Removed stale %s roster lock for pid %d." % (key, pid)), file=sys.stderr) + logger.warning('Removed stale %s roster lock for pid %d.', key, pid) data[key] = list(list(e) for e in elements) except KeyError: pass