ui: log informational messages and above to a temporary file
This commit is contained in:
parent
7bf187b7ca
commit
e3cc516cb3
|
@ -34,8 +34,11 @@ CONTENTS HERE
|
||||||
|
|
||||||
|
|
||||||
- Errors or warrnings from Solaar:
|
- Errors or warrnings from Solaar:
|
||||||
<!-- Run Solaar as `solaar -dd`, after killing any running Solaar processes. If any warnings or errors show up, include the output here. -->
|
<!-- Under normal operation Solaar keeps a log of warning and error messages in ~/.tmp
|
||||||
|
while it is running as a file starting with 'Solaar'.
|
||||||
|
If this file is not available or does not have useful information you can
|
||||||
|
run Solaar as `solaar -dd`, after killing any running Solaar processes to
|
||||||
|
have Solaar log informational, warning, and error messages to stdout. -->
|
||||||
|
|
||||||
|
|
||||||
**Describe the bug**
|
**Describe the bug**
|
||||||
|
|
|
@ -19,19 +19,19 @@
|
||||||
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
import importlib
|
import importlib
|
||||||
|
import logging
|
||||||
import os.path
|
import os.path
|
||||||
|
import tempfile
|
||||||
|
|
||||||
from logging import INFO as _INFO
|
from logging import INFO as _INFO
|
||||||
from logging import WARNING as _WARNING
|
from logging import WARNING as _WARNING
|
||||||
from logging import getLogger
|
|
||||||
|
|
||||||
import solaar.cli as _cli
|
import solaar.cli as _cli
|
||||||
import solaar.i18n as _i18n
|
import solaar.i18n as _i18n
|
||||||
|
|
||||||
from solaar import NAME, __version__
|
from solaar import NAME, __version__
|
||||||
|
|
||||||
_log = getLogger(__name__)
|
_log = logging.getLogger(__name__)
|
||||||
del getLogger
|
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -49,6 +49,7 @@ def _require(module, os_package, gi=None, gi_package=None, gi_version=None):
|
||||||
|
|
||||||
|
|
||||||
battery_icons_style = 'regular'
|
battery_icons_style = 'regular'
|
||||||
|
temp = tempfile.NamedTemporaryFile(prefix='Solaar_', mode='w', delete=True)
|
||||||
|
|
||||||
|
|
||||||
def _parse_arguments():
|
def _parse_arguments():
|
||||||
|
@ -100,17 +101,21 @@ def _parse_arguments():
|
||||||
global tray_icon_size
|
global tray_icon_size
|
||||||
tray_icon_size = args.tray_icon_size
|
tray_icon_size = args.tray_icon_size
|
||||||
|
|
||||||
import logging
|
log_format = '%(asctime)s,%(msecs)03d %(levelname)8s [%(threadName)s] %(name)s: %(message)s'
|
||||||
|
log_level = logging.ERROR - 10 * args.debug
|
||||||
|
logging.getLogger('').setLevel(min(log_level, logging.WARNING))
|
||||||
|
file_handler = logging.StreamHandler(temp)
|
||||||
|
file_handler.setLevel(max(min(log_level, logging.WARNING), logging.INFO))
|
||||||
|
file_handler.setFormatter(logging.Formatter(log_format))
|
||||||
|
logging.getLogger('').addHandler(file_handler)
|
||||||
if args.debug > 0:
|
if args.debug > 0:
|
||||||
log_level = logging.ERROR - 10 * args.debug
|
stream_handler = logging.StreamHandler()
|
||||||
log_format = '%(asctime)s,%(msecs)03d %(levelname)8s [%(threadName)s] %(name)s: %(message)s'
|
stream_handler.setFormatter(logging.Formatter(log_format))
|
||||||
logging.basicConfig(level=max(log_level, logging.DEBUG), format=log_format, datefmt='%H:%M:%S')
|
stream_handler.setLevel(log_level)
|
||||||
else:
|
logging.getLogger('').addHandler(stream_handler)
|
||||||
logging.root.addHandler(logging.NullHandler())
|
|
||||||
logging.root.setLevel(logging.ERROR)
|
|
||||||
|
|
||||||
if not args.action:
|
if not args.action:
|
||||||
if logging.root.isEnabledFor(logging.INFO):
|
if _log.isEnabledFor(logging.INFO):
|
||||||
logging.info('language %s (%s), translations path %s', _i18n.language, _i18n.encoding, _i18n.path)
|
logging.info('language %s (%s), translations path %s', _i18n.language, _i18n.encoding, _i18n.path)
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
@ -172,6 +177,8 @@ def main():
|
||||||
from traceback import format_exc
|
from traceback import format_exc
|
||||||
sys.exit('%s: error: %s' % (NAME.lower(), format_exc()))
|
sys.exit('%s: error: %s' % (NAME.lower(), format_exc()))
|
||||||
|
|
||||||
|
temp.close()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Reference in New Issue