logger: improve type hints
This commit is contained in:
parent
b7ba27f29d
commit
15e8c2bee3
1 changed files with 4 additions and 4 deletions
|
|
@ -82,7 +82,7 @@ class Logger:
|
|||
|
||||
|
||||
T = typing.TypeVar("T")
|
||||
|
||||
P = typing.ParamSpec("P")
|
||||
|
||||
class Tracer:
|
||||
def __init__(self, logger: Logger, level: LogLevel = LogLevel.Trace, max_depth: int = 15):
|
||||
|
|
@ -91,13 +91,13 @@ class Tracer:
|
|||
self.logger = logger
|
||||
self.max_depth: int = max_depth
|
||||
|
||||
def trace_method(self, func_or_nothing: Callable[..., T] | None = None, **kwargs):
|
||||
def trace_method(self, func_or_nothing: Callable[P, T] | None = None, /, **kwargs) -> Callable[P, T]:
|
||||
if func_or_nothing is not None:
|
||||
return self._trace_method(func=func_or_nothing, **kwargs)
|
||||
|
||||
return lambda func: self._trace_method(func, **kwargs)
|
||||
|
||||
def _trace_method(self, func: Callable[..., T], level: LogLevel = None) -> Callable[..., T]:
|
||||
def _trace_method(self, func: Callable[P, T], level: LogLevel = None) -> Callable[P, T]:
|
||||
if level is None:
|
||||
level = self.level
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ class Tracer:
|
|||
|
||||
func_info = inspect.signature(func)
|
||||
|
||||
def _wrapped(*args, **kwargs) -> T:
|
||||
def _wrapped(*args: P.args, **kwargs: P.kwargs) -> T:
|
||||
bound_args = func_info.bind(*args, **kwargs)
|
||||
signature = ", ".join(
|
||||
key if key == "self" else f"{key}={repr(value)}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue