diff --git a/config/settings/espeak.settings.conf b/config/settings/espeak.settings.conf index eda382a0..d97ce69a 100644 --- a/config/settings/espeak.settings.conf +++ b/config/settings/espeak.settings.conf @@ -150,6 +150,7 @@ doubleTapTimeout=0.2 [general] debugLevel=0 debugMode=File +debugFile=/var/log/fenrirscreenreader/fenrir.log punctuationProfile=default punctuationLevel=some respectPunctuationPause=True diff --git a/config/settings/settings.conf b/config/settings/settings.conf index 90ba7510..4eb5b247 100644 --- a/config/settings/settings.conf +++ b/config/settings/settings.conf @@ -152,9 +152,10 @@ doubleTapTimeout=0.2 [general] debugLevel=0 # debugMode sets where the debug output should send to: -# debugMode=File writes to /var/log/fenrir.log +# debugMode=File writes to debugFile (Default: /var/log/fenrirscreenreader/fenrir.log) # debugMode=Print just prints on the screen debugMode=File +debugFile=/var/log/fenrirscreenreader/fenrir.log punctuationProfile=default punctuationLevel=some respectPunctuationPause=True diff --git a/config/settings/settings.conf.example b/config/settings/settings.conf.example index 319cc541..f68ff09e 100644 --- a/config/settings/settings.conf.example +++ b/config/settings/settings.conf.example @@ -153,9 +153,10 @@ doubleTapTimeout=0.2 [general] debugLevel=0 # debugMode sets where the debug output should send to: -# debugMode=File writes to /var/log/fenrir.log +# debugMode=File writes to debugFile (Default: /var/log/fenrirscreenreader/fenrir.log) # debugMode=Print just prints on the screen debugMode=File +debugFile=/var/log/fenrirscreenreader/fenrir.log punctuationProfile=default punctuationLevel=some respectPunctuationPause=True diff --git a/config/settings/settings.conf.storm b/config/settings/settings.conf.storm index ea2d68af..3a03c8c1 100644 --- a/config/settings/settings.conf.storm +++ b/config/settings/settings.conf.storm @@ -101,9 +101,10 @@ doubleTapTimeout=0.2 [general] debugLevel=1 # debugMode sets where the debug output should send to: -# debugMode=File writes to /var/log/fenrir.log +# debugMode=File writes to debugFile (Default: /var/log/fenrirscreenreader/fenrir.log) # debugMode=Print just prints on the screen debugMode=File +debugFile=/var/log/fenrirscreenreader/fenrir.log punctuationProfile=default punctuationLevel=some respectPunctuationPause=True diff --git a/config/settings/speech-dispatcher.settings.conf b/config/settings/speech-dispatcher.settings.conf index 63b20cef..03fdd079 100644 --- a/config/settings/speech-dispatcher.settings.conf +++ b/config/settings/speech-dispatcher.settings.conf @@ -152,9 +152,10 @@ doubleTapTimeout=0.2 [general] debugLevel=0 # debugMode sets where the debug output should send to: -# debugMode=File writes to /var/log/fenrir.log +# debugMode=File writes to debugFile (Default: /var/log/fenrirscreenreader/fenrir.log) # debugMode=Print just prints on the screen debugMode=File +debugFile=/var/log/fenrirscreenreader/fenrir.log punctuationProfile=default punctuationLevel=some respectPunctuationPause=True diff --git a/src/fenrirscreenreader/core/debugManager.py b/src/fenrirscreenreader/core/debugManager.py index ed148be7..949e5d4c 100644 --- a/src/fenrirscreenreader/core/debugManager.py +++ b/src/fenrirscreenreader/core/debugManager.py @@ -3,12 +3,13 @@ from fenrirscreenreader.core import debug from datetime import datetime +import pathlib, os class debugManager(): - def __init__(self, fileName='/var/log/fenrir.log'): - self._fileName = fileName + def __init__(self, fileName = '/var/log/fenrirscreenreader/fenrir.log'): self._file = None self._fileOpened = False + self._fileName = fileName def initialize(self, environment): self.env = environment def shutdown(self): @@ -24,6 +25,9 @@ class debugManager(): if fileName != '': self._fileName = fileName if self._fileName != '': + directory = os.path.dirname(self._fileName) + if not os.path.exists(directory): + pathlib.Path(directory).mkdir(parents=True, exist_ok=True) self._file = open(self._fileName,'a') self._fileOpened = True diff --git a/src/fenrirscreenreader/core/settingsData.py b/src/fenrirscreenreader/core/settingsData.py index 109d38ae..27d2c7a0 100644 --- a/src/fenrirscreenreader/core/settingsData.py +++ b/src/fenrirscreenreader/core/settingsData.py @@ -57,6 +57,7 @@ settingsData = { 'general':{ 'debugLevel': debug.debugLevel.DEACTIVE, 'debugMode': 'FILE', + 'debugFile': '/var/log/fenrirscreenreader/fenrir.log', 'punctuationProfile':'default', 'punctuationLevel': 'some', 'respectPunctuationPause':True, diff --git a/src/fenrirscreenreader/core/settingsManager.py b/src/fenrirscreenreader/core/settingsManager.py index c38be038..bfcc82dd 100644 --- a/src/fenrirscreenreader/core/settingsManager.py +++ b/src/fenrirscreenreader/core/settingsManager.py @@ -260,8 +260,6 @@ class settingsManager(): settingsRoot = '/etc/fenrirscreenreader/' settingsFile = cliArgs.setting soundRoot = '/usr/share/sounds/fenrirscreenreader/' - environment['runtime']['debug'] = debugManager.debugManager() - environment['runtime']['debug'].initialize(environment) # get fenrir settings root if not os.path.exists(settingsRoot): if os.path.exists(fenrirPath +'/../../config/'): @@ -285,6 +283,9 @@ class settingsManager(): validConfig = environment['runtime']['settingsManager'].loadSettings(settingsFile) if not validConfig: return None + + environment['runtime']['debug'] = debugManager.debugManager(self.env['runtime']['settingsManager'].getSetting('general','debugFile')) + environment['runtime']['debug'].initialize(environment) if cliArgs.options != '': self.parseSettingArgs(cliArgs.options)