changeset 273:fe8d97a97ea5

Refactor make_logger - Use stderr instead of stdout as output stream - Add an argument for logger name
author Amine Sehili <amine.sehili@gmail.com>
date Tue, 17 Sep 2019 20:44:58 +0100
parents eb77a08a608a
children 961f35fc09a8
files auditok/cmdline_util.py tests/test_cmdline_util.py
diffstat 2 files changed, 14 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/auditok/cmdline_util.py	Mon Sep 16 20:13:33 2019 +0200
+++ b/auditok/cmdline_util.py	Tue Sep 17 20:44:58 2019 +0100
@@ -6,7 +6,7 @@
 from .io import player_for
 from .exceptions import TimeFormatError
 
-LOGGER_NAME = "AUDITOK_LOGGER"
+_AUDITOK_LOGGER = "AUDITOK_LOGGER"
 KeywordArguments = namedtuple(
     "KeywordArguments", ["io", "split", "miscellaneous"]
 )
@@ -96,17 +96,17 @@
     return fromatter
 
 
-def make_logger(debug_stdout=False, debug_file=None):
-    if not debug_stdout and debug_file is None:
+def make_logger(stderr=False, file=None, name=_AUDITOK_LOGGER):
+    if not stderr and file is None:
         return None
-    logger = logging.getLogger(LOGGER_NAME)
-    if debug_stdout:
-        handler = logging.StreamHandler(sys.stdout)
+    logger = logging.getLogger(name)
+    if stderr:
+        handler = logging.StreamHandler(sys.stderr)
         handler.setLevel(logging.DEBUG)
         logger.addHandler(handler)
 
-    if debug_file is not None:
-        handler = logging.FileHandler(debug_file, "w")
+    if file is not None:
+        handler = logging.FileHandler(file, "w")
         fmt = logging.Formatter("[%(asctime)s] | %(message)s")
         handler.setFormatter(fmt)
         handler.setLevel(logging.DEBUG)
--- a/tests/test_cmdline_util.py	Mon Sep 16 20:13:33 2019 +0200
+++ b/tests/test_cmdline_util.py	Tue Sep 17 20:44:58 2019 +0100
@@ -6,7 +6,7 @@
 from genty import genty, genty_dataset
 
 from auditok.cmdline_util import (
-    LOGGER_NAME,
+    _AUDITOK_LOGGER,
     make_kwargs,
     make_duration_fromatter,
     make_logger,
@@ -181,17 +181,17 @@
         with self.assertRaises(TimeFormatError):
             make_duration_fromatter(fmt)
 
-    def test_make_logger_stdout_and_file(self):
+    def test_make_logger_stderr_and_file(self):
         with TemporaryDirectory() as tmpdir:
             file = os.path.join(tmpdir, "file.log")
-            logger = make_logger(debug_stdout=True, debug_file=file)
-            self.assertEqual(logger.name, LOGGER_NAME)
+            logger = make_logger(stderr=True, file=file)
+            self.assertEqual(logger.name, _AUDITOK_LOGGER)
             self.assertEqual(len(logger.handlers), 2)
-            self.assertEqual(logger.handlers[0].stream.name, "<stdout>")
+            self.assertEqual(logger.handlers[0].stream.name, "<stderr>")
             self.assertEqual(logger.handlers[1].stream.name, file)
 
     def test_make_logger_None(self):
-        logger = make_logger(debug_stdout=False, debug_file=None)
+        logger = make_logger(stderr=False, file=None)
         self.assertIsNone(logger)
 
     def test_initialize_workers_all(self):