def get_server_logger(): logger = get_default_logger(component="wptserve") log_filter = handlers.LogLevelFilter(lambda x: x, "info") # Downgrade errors to warnings for the server log_filter = LogLevelRewriter(log_filter, ["error"], "warning") logger.component_filter = log_filter return logger
def test_filter_default_component(self): component_logger = structuredlog.StructuredLogger(self.logger.name, "test_component") self.logger.debug("Test") self.assertFalse(self.handler.empty) self.assert_log_equals({"action": "log", "level": "DEBUG", "message": "Test"}) self.logger.component_filter = handlers.LogLevelFilter( lambda x: x, "info") self.logger.debug("Test 1") self.assertTrue(self.handler.empty) component_logger.debug("Test 2") self.assertFalse(self.handler.empty) self.assert_log_equals({"action": "log", "level": "DEBUG", "message": "Test 2", "component": "test_component"}) self.logger.component_filter = None self.logger.debug("Test 3") self.assertFalse(self.handler.empty) self.assert_log_equals({"action": "log", "level": "DEBUG", "message": "Test 3"})
def setup_server_logging(self): server_logger = get_default_logger(component="wptserve") assert server_logger is not None log_filter = handlers.LogLevelFilter(lambda x: x, "info") # Downgrade errors to warnings for the server log_filter = LogLevelRewriter(log_filter, ["error"], "warning") server_logger.component_filter = log_filter try: #Set as the default logger for wptserve serve.set_logger(server_logger) serve.logger = server_logger except Exception: # This happens if logging has already been set up for wptserve pass
def start(**kwargs): assert logger is not None logged_critical = wptlogging.LoggedAboveLevelHandler("CRITICAL") handler = handlers.LogLevelFilter(logged_critical, "CRITICAL") logger.add_handler(handler) try: if kwargs["list_test_groups"]: list_test_groups(**kwargs) elif kwargs["list_disabled"]: list_disabled(**kwargs) elif kwargs["list_tests"]: list_tests(**kwargs) elif kwargs["verify"] or kwargs["stability"]: return check_stability(**kwargs) or logged_critical.has_log else: return not run_tests(**kwargs) or logged_critical.has_log finally: logger.remove_handler(handler)