From 8b0c8392b63f4af976c3046093f3ead96eddddc8 Mon Sep 17 00:00:00 2001 From: doadin Date: Wed, 2 Feb 2022 18:12:23 -0500 Subject: [Log] Fix crash logging to Windows protected folder Have the log dir be a protected windows folder and Deluge crashes. Windows blocks access to the dir and so it fails. It will fail trying to write to any protected folder. Should probably just pass on the error maybe and maybe log to stdout and log a message saying access was blocked or something. .\deluge-debug -L debug -l E:\Documents\deluge.log ... Failed to execute script 'deluge-debug-script' due to unhandled exception! Closes: https://dev.deluge-torrent.org/ticket/3502 Closes: https://github.com/deluge-torrent/deluge/pull/358 --- deluge/log.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'deluge/log.py') diff --git a/deluge/log.py b/deluge/log.py index 265186e7e..6ce6c2df6 100644 --- a/deluge/log.py +++ b/deluge/log.py @@ -155,7 +155,12 @@ def setup_logger( handler_cls = getattr( logging.handlers, 'WatchedFileHandler', logging.FileHandler ) - handler = handler_cls(filename, mode=filemode, encoding='utf-8') + try: + handler = handler_cls(filename, mode=filemode, encoding='utf-8') + except FileNotFoundError: + handler = logging.StreamHandler(stream=output_stream) + log = logging.getLogger(__name__) + log.error(f'Unable to write to log file `{filename}`') else: handler = logging.StreamHandler(stream=output_stream) -- cgit