diff --git a/piker/log.py b/piker/log.py index 8cec907c..0145debf 100644 --- a/piker/log.py +++ b/piker/log.py @@ -67,6 +67,9 @@ def get_console_log( name: str|None = None, pkg_name: str|None = None, with_tractor_log: bool = False, + # ?TODO, support a "log-spec" style `str|dict[str, str]` which + # dictates both the sublogger-key and a level? + # -> see similar idea in `modden`'s usage. **tractor_log_kwargs, ) -> logging.Logger: @@ -85,9 +88,21 @@ def get_console_log( pkg_name in name ): name: str = name.lstrip(f'{_proj_name}.') - if with_tractor_log: + + tll: str|None = None + if ( + with_tractor_log is not False + ): + tll = level + + elif maybe_actor := tractor.current_actor( + err_on_no_runtime=False, + ): + tll = maybe_actor.loglevel + + if tll: t_log = tractor.log.get_console_log( - level=level, + level=tll, name='tractor', # <- XXX, force root tractor log! **tractor_log_kwargs, )