Refactored sheerka execution flow + Enhanced log management
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import logging
|
||||
|
||||
enabled = []
|
||||
disabled = ["init", "sdp", "parsers", "evaluators", "verbose"]
|
||||
|
||||
console_handler = logging.StreamHandler()
|
||||
|
||||
all_loggers = {}
|
||||
|
||||
|
||||
def set_enabled(to_enable):
|
||||
if to_enable is None:
|
||||
return
|
||||
|
||||
if not hasattr(to_enable, "__iter__"):
|
||||
to_enable = [to_enable]
|
||||
|
||||
enabled.extend(to_enable)
|
||||
|
||||
|
||||
def to_discard(logger_class):
|
||||
if logger_class in enabled:
|
||||
return False
|
||||
|
||||
if logger_class not in disabled:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
def get_logger(logger_name):
|
||||
if logger_name in all_loggers:
|
||||
return all_loggers[logger_name]
|
||||
|
||||
logger = logging.getLogger(logger_name)
|
||||
all_loggers[logger_name] = logger
|
||||
|
||||
for d in disabled:
|
||||
if logger_name.startswith(d + ".") and to_discard(d):
|
||||
logger.disabled = True
|
||||
|
||||
for e in enabled:
|
||||
if logger_name.startswith("verbose." + e):
|
||||
logger.disabled = False
|
||||
|
||||
return logger
|
||||
Reference in New Issue
Block a user