Add an option to exit immediately upon setting zookeeper. Change the
authorScott Gasch <[email protected]>
Thu, 18 Aug 2022 15:54:59 +0000 (08:54 -0700)
committerScott Gasch <[email protected]>
Thu, 18 Aug 2022 15:54:59 +0000 (08:54 -0700)
verbosity of a warning.

config.py
logging_utils.py

index c883a3b7fd3ff106c97139db096448fce9b457a1..1a362a381eeaac36b6b8fabafa2db548ee82b1f0 100644 (file)
--- a/config.py
+++ b/config.py
@@ -188,6 +188,12 @@ GROUP.add_argument(
     action='store_true',
     help='If present, config will raise an exception if it doesn\'t recognize an argument.  The default behavior is to ignore unknown arguments so as to allow interoperability with programs that want to use their own argparse calls to parse their own, separate commandline args.',
 )
+GROUP.add_argument(
+    '--config_exit_after_parse',
+    default=False,
+    action='store_true',
+    help='If present, halt the program after parsing config.  Useful, for example, to write a --config_savefile and then terminate.',
+)
 
 
 class Config:
@@ -574,6 +580,11 @@ class Config:
             self.dump_config()
 
         self.config_parse_called = True
+        if config['config_exit_after_parse']:
+            print("Exiting because of --config_exit_after_parse.")
+            if self.zk:
+                self.zk.stop()
+            sys.exit(0)
         return self.config
 
     def has_been_parsed(self) -> bool:
index 39453b4bb1e9a59ed6b2940372ac19255c7ae4ac..f7e3be62ccd0adf8a472e5126e2c5d3f76692faa 100644 (file)
@@ -427,7 +427,7 @@ def log_about_logging(
     level_name = logging._levelToName.get(default_logging_level, str(default_logging_level))
     logger.debug('Initialized global logging; default logging level is %s.', level_name)
     if config.config['logging_clear_preexisting_handlers'] and preexisting_handlers_count > 0:
-        logger.warning(
+        logger.debug(
             'Logging cleared %d global handlers (--logging_clear_preexisting_handlers)',
             preexisting_handlers_count,
         )