changeset e0688f8ac964 in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset&node=e0688f8ac964
description:
        Use a file in the user directory for stdout and stderr on Windows

        issue11390
        review397911002
diffstat:

 CHANGELOG        |   1 +
 bin/tryton       |   4 ----
 doc/usage.rst    |   3 +++
 tryton/config.py |  12 +++++++++---
 4 files changed, 13 insertions(+), 7 deletions(-)

diffs (72 lines):

diff -r a1dac30e2d70 -r e0688f8ac964 CHANGELOG
--- a/CHANGELOG Mon Apr 11 12:48:41 2022 +0200
+++ b/CHANGELOG Mon Apr 11 16:37:34 2022 +0200
@@ -1,3 +1,4 @@
+* Add option to define logging output location
 * Remove TreeViewControl
 * Manage optional column
 * Default CSV encoding to UTF8 with BOM
diff -r a1dac30e2d70 -r e0688f8ac964 bin/tryton
--- a/bin/tryton        Mon Apr 11 12:48:41 2022 +0200
+++ b/bin/tryton        Mon Apr 11 16:37:34 2022 +0200
@@ -11,10 +11,6 @@
     pass
 
 if hasattr(sys, 'frozen'):
-    if not ('-v' in sys.argv or '--verbose' in sys.argv or
-            '-l' in sys.argv or '--log-level' in sys.argv):
-        sys.stdout = open(os.devnull, 'w')
-        sys.stderr = open(os.devnull, 'w')
     prefix = os.path.dirname(sys.executable)
     os.environ['GTK_EXE_PREFIX'] = prefix
     os.environ['GTK_DATA_PREFIX'] = prefix
diff -r a1dac30e2d70 -r e0688f8ac964 doc/usage.rst
--- a/doc/usage.rst     Mon Apr 11 12:48:41 2022 +0200
+++ b/doc/usage.rst     Mon Apr 11 16:37:34 2022 +0200
@@ -38,6 +38,9 @@
 -l LOG_LEVEL, --log-level=LOG_LEVEL  Specify the log level: DEBUG, INFO,
                                      WARNING, ERROR, CRITICAL
 
+-o LOG_OUTPUT, --log-ouput=LOG_OUTPUT Specify the file used to output logging
+                                      information
+
 -u LOGIN, --user=LOGIN               Specify the login user
 
 -s SERVER, --server=SERVER           Specify the server hostname:port
diff -r a1dac30e2d70 -r e0688f8ac964 tryton/config.py
--- a/tryton/config.py  Mon Apr 11 12:48:41 2022 +0200
+++ b/tryton/config.py  Mon Apr 11 16:37:34 2022 +0200
@@ -84,6 +84,8 @@
         parser.add_option("-l", "--log-level", dest="log_level",
                 help=_("specify the log level: "
                 "DEBUG, INFO, WARNING, ERROR, CRITICAL"))
+        parser.add_option("-o", "--log-ouput", dest="log_output", default=None,
+            help=_("specify the file used to output logging information"))
         parser.add_option("-u", "--user", dest="login",
                 help=_("specify the login user"))
         parser.add_option("-s", "--server", dest="host",
@@ -93,8 +95,10 @@
             get_config_dir(), 'tryton.conf')
         self.load()
 
-        self.options['dev'] = opt.dev
-        logging.basicConfig()
+        logging_config = {}
+        if opt.log_output:
+            logging_config['filename'] = opt.log_output
+
         loglevels = {
             'DEBUG': logging.DEBUG,
             'INFO': logging.INFO,
@@ -107,8 +111,10 @@
                 opt.log_level = 'INFO'
             else:
                 opt.log_level = 'ERROR'
-        logging.getLogger().setLevel(loglevels[opt.log_level.upper()])
+        logging_config['level'] = loglevels[opt.log_level.upper()]
+        logging.basicConfig(**logging_config)
 
+        self.options['dev'] = opt.dev
         for arg in ['login', 'host']:
             if getattr(opt, arg):
                 self.options['login.' + arg] = getattr(opt, arg)

Reply via email to