Move verbosity filtering to logger (#2453)

This commit is contained in:
Adam Hopkins
2022-06-16 12:35:49 +03:00
committed by GitHub
parent b87982769f
commit 1668e1532f
7 changed files with 91 additions and 32 deletions

View File

@@ -24,9 +24,7 @@ class OptionalDispatchEvent(BaseScheme):
raw_source = getsource(method)
src = dedent(raw_source)
tree = parse(src)
node = RemoveDispatch(
self._registered_events, self.app.state.verbosity
).visit(tree)
node = RemoveDispatch(self._registered_events).visit(tree)
compiled_src = compile(node, method.__name__, "exec")
exec_locals: Dict[str, Any] = {}
exec(compiled_src, module_globals, exec_locals) # nosec
@@ -64,9 +62,8 @@ class OptionalDispatchEvent(BaseScheme):
class RemoveDispatch(NodeTransformer):
def __init__(self, registered_events, verbosity: int = 0) -> None:
def __init__(self, registered_events) -> None:
self._registered_events = registered_events
self._verbosity = verbosity
def visit_Expr(self, node: Expr) -> Any:
call = node.value
@@ -83,8 +80,10 @@ class RemoveDispatch(NodeTransformer):
if hasattr(event, "s"):
event_name = getattr(event, "value", event.s)
if self._not_registered(event_name):
if self._verbosity >= 2:
logger.debug(f"Disabling event: {event_name}")
logger.debug(
f"Disabling event: {event_name}",
extra={"verbosity": 2},
)
return None
return node