in scripts/util.py [0:0]
def config_root_logger(caller_logger, level="DEBUG", stdout=True, logfile=None):
"""configure the root logger, disabling all existing loggers"""
handlers = list(compress(("stdout_handler", "file_handler"), (stdout, logfile)))
config = {
"version": 1,
"disable_existing_loggers": True,
"formatters": {
"standard": {
"()": LogFormatter,
"fmt": "%(levelname)s: %(message)s",
},
"stamp": {
"()": LogFormatter,
"fmt": "%(asctime)s %(levelname)s: %(message)s",
},
},
"filters": {
"logging_flags": {"()": lambda: filter_logging_flags},
},
"handlers": {
"stdout_handler": {
"level": logging.DEBUG,
"formatter": "standard",
"class": "logging.StreamHandler",
"stream": sys.stdout,
"filters": ["logging_flags"],
},
"file_handler": {
"()": owned_file_handler,
"level": logging.DEBUG,
"formatter": "stamp",
"filters": ["logging_flags"],
"filename": logfile,
},
},
"root": {
"handlers": handlers,
"level": level,
},
}
if not logfile:
del config["handlers"]["file_handler"]
logging.config.dictConfig(config)
loggers = (
__name__,
"resume",
"suspend",
"slurmsync",
"setup",
caller_logger,
)
for logger in map(logging.getLogger, loggers):
logger.disabled = False