Spaces:
Sleeping
Sleeping
import logging | |
from mmcv.utils import get_logger | |
def get_root_logger(log_file=None, log_level=logging.INFO): | |
"""Get the root logger. | |
The logger will be initialized if it has not been initialized. By default a | |
StreamHandler will be added. If `log_file` is specified, a FileHandler will | |
also be added. The name of the root logger is the top-level package name, | |
e.g., "mmseg". | |
Args: | |
log_file (str | None): The log filename. If specified, a FileHandler | |
will be added to the root logger. | |
log_level (int): The root logger level. Note that only the process of | |
rank 0 is affected, while other processes will set the level to | |
"Error" and be silent most of the time. | |
Returns: | |
logging.Logger: The root logger. | |
""" | |
logger = get_logger(name='mmseg', log_file=log_file, log_level=log_level) | |
return logger | |
def print_log(msg, logger=None, level=logging.INFO): | |
"""Print a log message. | |
Args: | |
msg (str): The message to be logged. | |
logger (logging.Logger | str | None): The logger to be used. Some | |
special loggers are: | |
- "root": the root logger obtained with `get_root_logger()`. | |
- "silent": no message will be printed. | |
- None: The `print()` method will be used to print log messages. | |
level (int): Logging level. Only available when `logger` is a Logger | |
object or "root". | |
""" | |
if logger is None: | |
print(msg) | |
elif logger == 'root': | |
_logger = get_root_logger() | |
_logger.log(level, msg) | |
elif isinstance(logger, logging.Logger): | |
logger.log(level, msg) | |
elif logger != 'silent': | |
raise TypeError( | |
'logger should be either a logging.Logger object, "root", ' | |
'"silent" or None, but got {}'.format(logger)) |