[Tests] Make the logger tollerant to wrong init sequence
This commit is contained in:
parent
f127312b27
commit
99bfaec4dc
12
kibot/log.py
12
kibot/log.py
|
|
@ -36,6 +36,9 @@ def get_logger(name=None):
|
||||||
"""Get a module for a submodule or the root logger if no name is
|
"""Get a module for a submodule or the root logger if no name is
|
||||||
provided"""
|
provided"""
|
||||||
# print('get_logger '+str(name))
|
# print('get_logger '+str(name))
|
||||||
|
global root_logger
|
||||||
|
if root_logger is None:
|
||||||
|
init()
|
||||||
if name:
|
if name:
|
||||||
if name.startswith(domain):
|
if name.startswith(domain):
|
||||||
return logging.getLogger(name)
|
return logging.getLogger(name)
|
||||||
|
|
@ -181,9 +184,14 @@ class FilterNoInfo(object):
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
"""Initialize the logging feature using a custom format"""
|
"""Initialize the logging feature using a custom format"""
|
||||||
|
global root_logger
|
||||||
|
if root_logger is not None:
|
||||||
|
return root_logger
|
||||||
# Use a class to count and filter warnings
|
# Use a class to count and filter warnings
|
||||||
logging.setLoggerClass(MyLogger)
|
logging.setLoggerClass(MyLogger)
|
||||||
logger = get_logger()
|
# get_logger will call init is the root_logger is None, avoid a loop
|
||||||
|
root_logger = True
|
||||||
|
root_logger = logger = get_logger()
|
||||||
# Handler for all but info.
|
# Handler for all but info.
|
||||||
# Outputs to stderr
|
# Outputs to stderr
|
||||||
ch = logging.StreamHandler()
|
ch = logging.StreamHandler()
|
||||||
|
|
@ -196,8 +204,6 @@ def init():
|
||||||
ch.addFilter(FilterOnlyInfo())
|
ch.addFilter(FilterOnlyInfo())
|
||||||
ch.setFormatter(CustomFormatter(sys.stdout))
|
ch.setFormatter(CustomFormatter(sys.stdout))
|
||||||
logger.addHandler(ch)
|
logger.addHandler(ch)
|
||||||
global root_logger
|
|
||||||
root_logger = logger
|
|
||||||
return logger
|
return logger
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue