Change filename of flask debug log file, store it in the OnionShare data dir instead of /tmp

This commit is contained in:
Micah Lee 2018-12-11 08:06:14 -08:00
commit b02e1c257f
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73

View File

@ -184,9 +184,20 @@ class Web(object):
""" """
Turn on debugging mode, which will log flask errors to a debug file. Turn on debugging mode, which will log flask errors to a debug file.
""" """
temp_dir = tempfile.gettempdir() if self.common.platform == 'Windows':
log_handler = logging.FileHandler( try:
os.path.join(temp_dir, 'onionshare_server.log')) appdata = os.environ['APPDATA']
flask_debug_filename = '{}\\OnionShare\\flask_debug.log'.format(appdata)
except:
# If for some reason we don't have the 'APPDATA' environment variable
# (like running tests in Linux while pretending to be in Windows)
flask_debug_filename = os.path.expanduser('~/.config/onionshare/flask_debug.log')
elif self.common.platform == 'Darwin':
flask_debug_filename = os.path.expanduser('~/Library/Application Support/OnionShare/flask_debug.log')
else:
flask_debug_filename = os.path.expanduser('~/.config/onionshare/flask_debug.log')
log_handler = logging.FileHandler(flask_debug_filename)
log_handler.setLevel(logging.WARNING) log_handler.setLevel(logging.WARNING)
self.app.logger.addHandler(log_handler) self.app.logger.addHandler(log_handler)