def cli(debug: bool): """SnowShu is a sampling engine designed to support testing in data development.""" log_level = logging.DEBUG if debug else logging.INFO log_engine = Logger() log_engine.initialize_logger() log_engine.set_log_level(log_level) logger = log_engine.logger if not which('docker') and not IS_IN_DOCKER: logger.warning(NO_DOCKER)
def test_logger_always_logs_debug_to_file(temp_log): levels = ('WARNING', 'DEBUG', 'INFO', 'CRITICAL',) log_engine = Logger() log_engine.initialize_logger(log_file_location=temp_log.strpath) for level in LOG_LEVELS: log_engine.set_log_level(level) logger = log_engine.logger message = rand_string(10) logger.debug(message) with open(temp_log) as tmp: line = tmp.readlines()[-1] assert 'DEBUG' in line assert message in line
def test_logger_debug_log_level(temp_log): log_engine = Logger() log_engine.initialize_logger(log_file_location=temp_log.strpath) log_engine.set_log_level(logging.DEBUG) logger = log_engine.logger with LogCapture() as capture: ERROR = rand_string(10) INFO = rand_string(10) DEBUG = rand_string(10) WARNING = rand_string(10) logger.warning(WARNING) logger.error(ERROR) logger.info(INFO) logger.debug(DEBUG) capture.check( ('snowshu', 'WARNING', WARNING), ('snowshu', 'ERROR', ERROR), ('snowshu', 'INFO', INFO), ('snowshu', 'DEBUG', DEBUG), )