Source code for kliff.log
import sys
from typing import Union
from loguru import logger
LOG_LEVEL = None
[docs]def set_logger(level: str = "INFO", stderr: bool = True):
"""
Set up loguru loggers.
The default logger has a log level of `INFO` and logs to stderr. Call this function
at the beginning of your script to override it.
Args:
level: log level, e.g. DEBUG, INFO, WARNING, ERROR, and CRITICAL.
stderr: whether to log to stderr.
"""
global LOG_LEVEL
LOG_LEVEL = level
file_handler = {"sink": "kliff.log", "level": level}
stderr_handler = {"sink": sys.stderr, "level": level}
if stderr:
config = {"handlers": [stderr_handler, file_handler]}
else:
config = {"handlers": [file_handler]}
logger.configure(**config)
[docs]def get_log_level() -> Union[None, str]:
"""
Get the current log level.
Returns:
Log level in str, one of DEBUG, INFO, WARNING, ERROR, or CRITICAL.
"""
return LOG_LEVEL