diff --git a/tools/python/jwutils/Cmds.py b/tools/python/jwutils/Cmds.py index 7e1ff51..93ec98c 100644 --- a/tools/python/jwutils/Cmds.py +++ b/tools/python/jwutils/Cmds.py @@ -14,10 +14,26 @@ class Cmds: # export self.__description = description self.__filter = filter self.__modules = modules + default_log_level = jwutils.log.NOTICE + default_log_flags = 'stderr,position,prio,color' + # poor man's parsing in the absence of a complete command-line definition + for i in range(1, len(sys.argv)): + if i >= len(sys.argv) - 1: + break + arg = sys.argv[i] + if arg == '--log-level': + i += 1 + default_log_level = sys.argv[i] + continue + if arg == '--log-flags': + default_log_flags = sys.argv[i] + continue + jwutils.log.set_flags(default_log_flags) + jwutils.log.set_level(default_log_level) self.__parser = argparse.ArgumentParser(usage=os.path.basename(sys.argv[0]) + ' [command] [options]', formatter_class=argparse.ArgumentDefaultsHelpFormatter, description=self.__description) - self.__parser.add_argument('--log-flags', help='Log flags', default='stderr,position,prio,color') - self.__parser.add_argument('--log-level', help='Log level', default=jwutils.log.NOTICE) + self.__parser.add_argument('--log-flags', help='Log flags', default=default_log_flags) + self.__parser.add_argument('--log-level', help='Log level', default=default_log_level) self.eloop = eloop self.__own_eloop = False if eloop is None: @@ -39,10 +55,9 @@ class Cmds: # export cmd.add_parser(subparsers) async def __run(self): - #async def __run(self): args = self.__parser.parse_args() - jwutils.log.set_level(args.log_level) jwutils.log.set_flags(args.log_flags) + jwutils.log.set_level(args.log_level) return await args.func(args) def __del__(self):