From 4a80cda8412113ffbdd7b224b929d202533339be Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Sun, 29 Jun 2025 15:33:31 -0400 Subject: [PATCH] .log: expose `at_least_level()` as `StackLevelAdapter` meth --- tractor/log.py | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/tractor/log.py b/tractor/log.py index 393c9571..329562b1 100644 --- a/tractor/log.py +++ b/tractor/log.py @@ -81,10 +81,35 @@ BOLD_PALETTE = { } +def at_least_level( + log: Logger|LoggerAdapter, + level: int|str, +) -> bool: + ''' + Predicate to test if a given level is active. + + ''' + if isinstance(level, str): + level: int = CUSTOM_LEVELS[level.upper()] + + if log.getEffectiveLevel() <= level: + return True + return False + + # TODO: this isn't showing the correct '{filename}' # as it did before.. class StackLevelAdapter(LoggerAdapter): + def at_least_level( + self, + level: str, + ) -> bool: + return at_least_level( + log=self, + level=level, + ) + def transport( self, msg: str, @@ -401,19 +426,3 @@ def get_loglevel() -> str: # global module logger for tractor itself log: StackLevelAdapter = get_logger('tractor') - - -def at_least_level( - log: Logger|LoggerAdapter, - level: int|str, -) -> bool: - ''' - Predicate to test if a given level is active. - - ''' - if isinstance(level, str): - level: int = CUSTOM_LEVELS[level.upper()] - - if log.getEffectiveLevel() <= level: - return True - return False