Skip to content

Commit

Permalink
fix: logging issues
Browse files Browse the repository at this point in the history
  • Loading branch information
antazoey committed Aug 19, 2024
1 parent c3caa54 commit 629fd38
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 6 deletions.
8 changes: 4 additions & 4 deletions src/ape/cli/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def abort(msg: str, base_error: Optional[Exception] = None) -> NoReturn:


def verbosity_option(
cli_logger: Optional[ApeLogger] = None, default: Union[str, LogLevel] = DEFAULT_LOG_LEVEL
cli_logger: Optional[ApeLogger] = None, default: Union[str, int, LogLevel] = DEFAULT_LOG_LEVEL
) -> Callable:
"""A decorator that adds a `--verbosity, -v` option to the decorated
command.
Expand All @@ -67,7 +67,7 @@ def verbosity_option(


def _create_verbosity_kwargs(
_logger: Optional[ApeLogger] = None, default: Union[str, LogLevel] = DEFAULT_LOG_LEVEL
_logger: Optional[ApeLogger] = None, default: Union[str, int, LogLevel] = DEFAULT_LOG_LEVEL
) -> dict:
cli_logger = _logger or logger

Expand All @@ -87,7 +87,7 @@ def set_level(ctx, param, value):


def ape_cli_context(
default_log_level: Union[str, LogLevel] = DEFAULT_LOG_LEVEL,
default_log_level: Union[str, int, LogLevel] = DEFAULT_LOG_LEVEL,
obj_type: type = ApeCliContextObject,
) -> Callable:
"""
Expand All @@ -96,7 +96,7 @@ def ape_cli_context(
such as logging or accessing managers.
Args:
default_log_level (Union[str, :class:`~ape.logging.LogLevel`]): The log-level
default_log_level (Union[str, int, :class:`~ape.logging.LogLevel`]): The log-level
value to pass to :meth:`~ape.cli.options.verbosity_option`.
obj_type (Type): The context object type. Defaults to
:class:`~ape.cli.options.ApeCliContextObject`. Sub-class
Expand Down
7 changes: 6 additions & 1 deletion src/ape/logging.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,9 @@ def set_level(self, level: Union[str, int, LogLevel]):
if level == self._logger.level:
return

elif isinstance(level, LogLevel):
level = level.value

self._logger.setLevel(level)
for _logger in self._extra_loggers.values():
_logger.setLevel(level)
Expand Down Expand Up @@ -266,9 +269,11 @@ def get_logger(
return _logger


def _get_level(level: Optional[Union[str, int]] = None) -> str:
def _get_level(level: Optional[Union[str, int, LogLevel]] = None) -> str:
if level is None:
return DEFAULT_LOG_LEVEL
elif isinstance(level, LogLevel):
return level.name
elif isinstance(level, int) or level.isnumeric():
return LogLevel(int(level)).name

Expand Down
2 changes: 1 addition & 1 deletion tests/functional/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from ape.cli.choices import _NONE_NETWORK, _get_networks_sequence_from_cache
from ape.cli.commands import get_param_from_ctx, parse_network
from ape.exceptions import AccountsError
from ape.logging import logger, LogLevel
from ape.logging import LogLevel, logger
from tests.conftest import geth_process_test, skip_if_plugin_installed

OUTPUT_FORMAT = "__TEST__{0}:{1}:{2}_"
Expand Down

0 comments on commit 629fd38

Please sign in to comment.