From 6da05cbe2ddcd76a6468cb116d4c3932cbed838b Mon Sep 17 00:00:00 2001 From: palto42 <12280188+palto42@users.noreply.github.com> Date: Sat, 2 Nov 2019 14:33:57 +0100 Subject: [PATCH] Exception handling for logfile option --- borgmatic/logger.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/borgmatic/logger.py b/borgmatic/logger.py index 9b4a7954..01b286f6 100644 --- a/borgmatic/logger.py +++ b/borgmatic/logger.py @@ -97,7 +97,14 @@ def configure_logging(console_log_level, syslog_log_level=None, log_file=None): syslog_handler.setLevel(syslog_log_level) handlers = (console_handler, syslog_handler) elif log_file: - file_handler = logging.FileHandler(log_file) + try: + file_handler = logging.FileHandler(log_file) + except FileNotFoundError: + print("ERROR: Path to log-file doesn't exist: {}".format(log_file)) + sys.exit(1) + except PermissionError: + print("ERROR: No write access to log-file: {}".format(log_file)) + sys.exit(1) file_handler.setFormatter(logging.Formatter('[%(asctime)s] %(levelname)s: %(message)s')) file_handler.setLevel(syslog_log_level) handlers = (console_handler, file_handler)