netcmd: modify Command.get_logger to use get_samba_logger
authorJoe Guo <joeg@catalyst.net.nz>
Tue, 21 Aug 2018 00:08:59 +0000 (12:08 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Wed, 10 Oct 2018 04:16:22 +0000 (06:16 +0200)
By doing this, we don't need to repeat the log level convert code any more.
Also, logs have colors now.

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/netcmd/__init__.py
python/samba/tests/samba_tool/computer.py

index 3c785a1d5dcdaa2a32253cbaf76b4a708a60420b..0687016c6d769a0e10975ef635d615c8305c3232 100644 (file)
@@ -20,6 +20,7 @@ import optparse
 import samba
 from samba import getopt as options
 from samba import colour
+from samba.logger import get_samba_logger
 from ldb import LdbError
 import sys
 import traceback
@@ -189,12 +190,12 @@ class Command(object):
         """Run the command. This should be overridden by all subclasses."""
         raise NotImplementedError(self.run)
 
-    def get_logger(self, name="netcmd"):
+    def get_logger(self, name="", verbose=False, quiet=False, **kwargs):
         """Get a logger object."""
-        import logging
-        logger = logging.getLogger(name)
-        logger.addHandler(logging.StreamHandler(self.errf))
-        return logger
+        return get_samba_logger(
+            name=name or self.name, stream=self.errf,
+            verbose=verbose, quiet=quiet,
+            **kwargs)
 
     def apply_colour_choice(self, requested):
         """Heuristics to work out whether the user wants colour output, from a
index 94f62307cfd0302f6dd68891378b4656cf271b2c..38ea5f774c4f39a27f649dadecce6a811e3b36da 100644 (file)
@@ -65,7 +65,8 @@ class ComputerCmdTestCase(SambaToolCmdTest):
             (result, out, err) = self._create_computer(computer)
 
             self.assertCmdSuccess(result, out, err)
-            self.assertEquals(err, "", "There shouldn't be any error message")
+            self.assertNotIn(
+                "ERROR", err, "There shouldn't be any error message")
             self.assertIn("Computer '%s' created successfully" %
                           computer["name"], out)