Source code for sentency.logs

import logging
import sys
from typing import Text, Union


[docs]def get_console_handler() -> logging.StreamHandler: """Get console handler. Returns: `logging.StreamHandler`, StreamHandler which logs into stdout """ console_handler = logging.StreamHandler(sys.stdout) formatter = logging.Formatter( "%(asctime)s%(name)s%(levelname)s%(message)s" ) console_handler.setFormatter(formatter) return console_handler
[docs]def get_logger( name: Text = __name__, log_level: Union[Text, int] = logging.ERROR ) -> logging.Logger: """Get logger. name: `Text`, logger name log_level: `Text` or `int`, logging level; can be string name or integer value Returns: `logging.Logger`, logger instance """ logger = logging.getLogger(name) logger.setLevel(log_level) # Prevent duplicate outputs in Jypyter Notebook if logger.hasHandlers(): logger.handlers.clear() logger.addHandler(get_console_handler()) logger.propagate = False return logger