Source code for communication.functions
"""
This module contains helper functions
"""
import logging
import signal
from typing import Any
[docs]
def handle_sigterm(*_args: Any) -> None:
r"""
Sigterm handler: raise KeyboardInterrupt.
:param \*_args: unused arguments, accept any arguments
:raise KeyboardInterrupt: raises a keyboard interrupt
"""
raise KeyboardInterrupt()
[docs]
def init(name: str, logger_level: int = logging.INFO) -> logging.Logger:
"""
Initialize logger and sigterm handler.
:param name: name of the logger
:param logger_level: the logging level to use
:return: a logger instance
"""
signal.signal(signal.SIGTERM, handle_sigterm)
logger = logging.getLogger(name)
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
logger.setLevel(logger_level)
return logger