On Sat, Aug 8, 2009 at 3:32 PM, Michael Goldish<mgoldish@xxxxxxxxxx> wrote: > How can we set the verbosity level for stand-alone execution, e.g. > enable/disable debug output when running ./kvm_config.py kvm_tests.cfg? On the main program execution we could add a OptionParser instance that parses a --verbose flag, and we pass verbose to the logging system config statement logging_manager.configure_logging(KvmLoggingConfig(), verbose=True) I will re-write the patch with that, thanks! > ----- Original Message ----- > From: "Lucas Meneghel Rodrigues" <lmr@xxxxxxxxxx> > To: autotest@xxxxxxxxxxxxxxx > Cc: kvm@xxxxxxxxxxxxxxx, mgoldish@xxxxxxxxxx, "Lucas Meneghel Rodrigues" <lmr@xxxxxxxxxx> > Sent: Saturday, August 8, 2009 8:37:14 PM (GMT+0200) Auto-Detected > Subject: [PATCH] KVM test: Make kvm_config.py to use autotest logging > > Make kvm_config.py be able to use the autotest logging > infrastructure even in stand alone mode. This way we > get the ability of having selective debug mode, and > just use the cleaner logging.[debuglevel]('message') > syntax instead of resorting to hardcoded [LEVEL] > strings in any message. > > Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> > --- > client/tests/kvm/kvm_config.py | 26 ++++++++++++++++++-------- > 1 files changed, 18 insertions(+), 8 deletions(-) > > diff --git a/client/tests/kvm/kvm_config.py b/client/tests/kvm/kvm_config.py > index 7ff7a07..e2cf5be 100755 > --- a/client/tests/kvm/kvm_config.py > +++ b/client/tests/kvm/kvm_config.py > @@ -1,7 +1,8 @@ > #!/usr/bin/python > -import re, os, sys, StringIO > +import logging, re, os, sys, StringIO > import common > from autotest_lib.client.common_lib import error > +from autotest_lib.client.common_lib import logging_config, logging_manager > > """ > KVM configuration file utility functions. > @@ -9,6 +10,12 @@ KVM configuration file utility functions. > @copyright: Red Hat 2008-2009 > """ > > +class KvmLoggingConfig(logging_config.LoggingConfig): > + def configure_logging(self, results_dir=None, verbose=False): > + super(KvmLoggingConfig, self).configure_logging(use_console=True, > + verbose=verbose) > + > + > class config: > """ > Parse an input file or string that follows the KVM Test Config File format > @@ -413,11 +420,11 @@ class config: > if self.debug and not restricted: > self.__debug_print("", "Leaving file %s" % words[1]) > else: > - print ("WARNING: Cannot include %s -- " > - "file not found" % filename) > + logging.warning("Cannot include %s -- file not found", > + filename) > else: > - print ("WARNING: Cannot include %s because no file is " > - "currently open" % words[1]) > + logging.warning("Cannot include %s because no file is " > + "currently open", words[1]) > > # Parse multi-line exceptions > # (the block is parsed for each dict separately) > @@ -462,7 +469,7 @@ class config: > str = "%-50s ---> %s" % (str1, str2) > else: > str = str1 > - print str > + logging.debug(str) > > > def __modify_list_variants(self, list, name, dep_list, add_to_shortname): > @@ -519,12 +526,15 @@ if __name__ == "__main__": > filename = sys.argv[1] > else: > filename = os.path.join(os.path.dirname(sys.argv[0]), "kvm_tests.cfg") > + # Here we configure the stand alone program to use the autotest > + # logging system. > + logging_manager.configure_logging(KvmLoggingConfig(), verbose=True) > list = config(filename, debug=True).get_list() > i = 0 > for dict in list: > - print "Dictionary #%d:" % i > + logging.debug("Dictionary #%d:", i) > keys = dict.keys() > keys.sort() > for key in keys: > - print " %s = %s" % (key, dict[key]) > + logging.debug(" %s = %s", key, dict[key]) > i += 1 > -- > 1.6.2.5 > > _______________________________________________ > Autotest mailing list > Autotest@xxxxxxxxxxxxxxx > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > -- Lucas Meneghel -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html