From 570a6183546c0197fe89d6356b561528921c8f54 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 10 Mar 2020 11:19:32 +0100 Subject: repository: add logging --- lbup/repository.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lbup/repository.py b/lbup/repository.py index 0cb1161..6a6e215 100644 --- a/lbup/repository.py +++ b/lbup/repository.py @@ -1,4 +1,5 @@ import fcntl +import logging import os import os.path import subprocess @@ -37,7 +38,9 @@ class Repo: data_dir = None lock_name = 'lock' - def __init__(self, bup_dir = None, data_dir = None): + _logger = None + + def __init__(self, bup_dir = None, data_dir = None, logger = None): if bup_dir is None: if 'BUP_DIR' in os.environ: bup_dir = os.environ['BUP_DIR'] @@ -47,6 +50,11 @@ class Repo: if data_dir is None: data_dir = os.path.expanduser('~/.local/var/lbup/') + if logger is None: + self._logger = logging.getLogger(self.name) + else: + self._logger = logger + # create the data dir, if it does not already exist os.makedirs(data_dir, 0o700, exist_ok = True) @@ -64,18 +72,28 @@ class Repo: with open(os.path.join(self.data_dir, self.lock_name), 'w') as lockfile: result = BackupResult() + self._logger.debug('Acquiring repository lock') fcntl.lockf(lockfile, fcntl.LOCK_EX) try: for tgt in tgts: + self._logger.info('Backing up %s...' % tgt.name) res = tgt.save(self.data_dir) + self._logger.info('Backing up %s done' % tgt.name) + result.target_results.append(res) if gen_par2: + self._logger.info('Generating par2 files...') res = subprocess.run(['bup', 'fsck', '-g'], capture_output = True) + self._logger.info('Generating par2 files done') + result.par2_result = StepResult(res.returncode, res.stderr + res.stdout) finally: + self._logger.debug('Releasing repository lock') fcntl.lockf(lockfile, fcntl.LOCK_UN) + self._logger.debug('Backup finished') + return result -- cgit v1.2.3