Source code for xrayvision.utils
import logging
from typing import Union, Optional
[docs]
def get_logger(name: str, level: Optional[Union[int, str]] = logging.WARNING) -> logging.Logger:
"""
Return a configured logger instance.
Parameters
----------
name : `str`
Name of the logger
level : `int` or level, optional
Level of the logger e.g `logging.DEBUG`
Returns
-------
`logging.Logger`
Configured logger
"""
logger = logging.getLogger(name)
logger.setLevel(level) # type: ignore
handler = logging.StreamHandler()
handler.setLevel(level) # type: ignore
formatter = logging.Formatter(
"%(asctime)s %(levelname)s %(name)s %(lineno)s: %(message)s", datefmt="%Y-%m-%dT%H:%M:%SZ"
)
handler.setFormatter(formatter)
logger.addHandler(handler)
return logger