diff --git a/README.md b/README.md index c188850..c466073 100644 --- a/README.md +++ b/README.md @@ -373,7 +373,7 @@ To run tests, run the following command: pip install -r ./requirements.test.txt # Run tests: -python -m pytest -sv +python -m pytest -v ``` ## Environment Variables diff --git a/beans_logging/__init__.py b/beans_logging/__init__.py index 81c7894..bad4689 100644 --- a/beans_logging/__init__.py +++ b/beans_logging/__init__.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- -from .schemas import LoggerConfigPM from ._base import Logger, logger, LoggerLoader +from .schemas import LoggerConfigPM +from ._const import WarnEnum from .__version__ import __version__ diff --git a/beans_logging/_base.py b/beans_logging/_base.py index 6ed678e..46b9df4 100644 --- a/beans_logging/_base.py +++ b/beans_logging/_base.py @@ -9,9 +9,9 @@ ## Third-party libraries import yaml -from pydantic import validate_call -from loguru._logger import Logger from loguru import logger +from loguru._logger import Logger +from pydantic import validate_call ## Internal modules from ._utils import create_dir, deep_merge @@ -170,7 +170,6 @@ def update_config(self, config: Union[LoggerConfigPM, Dict[str, Any]]): if isinstance(config, dict): _config_dict = self.config.model_dump() _merged_dict = deep_merge(_config_dict, config) - print(_merged_dict) try: self.config = LoggerConfigPM(**_merged_dict) except Exception: @@ -470,7 +469,7 @@ def add_custom_handler(self, handler_name: str, **kwargs) -> int: _log_path = _log_path.format(app_name=self.config.app_name) _logs_dir, _ = os.path.split(_log_path) - create_dir(create_dir=_logs_dir, warn_mode="DEBUG") + create_dir(create_dir=_logs_dir) kwargs["sink"] = _log_path if "format" not in kwargs: diff --git a/beans_logging/_const.py b/beans_logging/_const.py new file mode 100644 index 0000000..f8745e9 --- /dev/null +++ b/beans_logging/_const.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- + +from enum import Enum + + +class WarnEnum(str, Enum): + RAISE = "RAISE" + LOG = "LOG" + DEBUG = "DEBUG" + IGNORE = "IGNORE" diff --git a/beans_logging/_utils.py b/beans_logging/_utils.py index 21d37f7..9461522 100644 --- a/beans_logging/_utils.py +++ b/beans_logging/_utils.py @@ -4,16 +4,14 @@ import copy import errno -# import logging - -from pydantic import validate_call from loguru import logger +from pydantic import validate_call -# logger = logging.getLogger(__name__) +from ._const import WarnEnum @validate_call -def create_dir(create_dir: str, warn_mode: str = "DEBUG"): +def create_dir(create_dir: str, warn_mode: WarnEnum = WarnEnum.DEBUG): """Create directory if `create_dir` doesn't exist. Args: @@ -21,13 +19,12 @@ def create_dir(create_dir: str, warn_mode: str = "DEBUG"): warn_mode (str, optional): Warning message mode, for example: 'LOG', 'DEBUG', 'QUIET'. Defaults to "QUIET". """ - warn_mode = warn_mode.strip().upper() if not os.path.isdir(create_dir): try: _message = f"Creaing '{create_dir}' directory..." - if warn_mode == "LOG": + if warn_mode == WarnEnum.LOG: logger.info(_message) - elif warn_mode == "DEBUG": + elif warn_mode == WarnEnum.DEBUG: logger.debug(_message) os.makedirs(create_dir) @@ -39,9 +36,9 @@ def create_dir(create_dir: str, warn_mode: str = "DEBUG"): raise _message = f"Successfully created '{create_dir}' directory." - if warn_mode == "LOG": + if warn_mode == WarnEnum.LOG: logger.success(_message) - elif warn_mode == "DEBUG": + elif warn_mode == WarnEnum.DEBUG: logger.debug(_message) diff --git a/beans_logging/fastapi/__init__.py b/beans_logging/fastapi/__init__.py index 8ecb7e2..168ce40 100644 --- a/beans_logging/fastapi/__init__.py +++ b/beans_logging/fastapi/__init__.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from ._middlewares import HttpAccessLogMiddleware -from ._handlers import add_http_file_handler, add_http_file_json_handler from ._filters import use_http_filter from ._formats import http_file_format, http_file_json_format +from ._handlers import add_http_file_handler, add_http_file_json_handler +from ._middlewares import HttpAccessLogMiddleware diff --git a/requirements.txt b/requirements.txt index b673c6a..0d2a4cf 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ PyYAML>=6.0.1,<7.0 pydantic>=2.1.1,<3.0.0 -loguru>=0.7.1,<1.0.0 +loguru>=0.7.2,<1.0.0 diff --git a/scripts/test.sh b/scripts/test.sh index 7db84b9..ae7fdbd 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -78,12 +78,12 @@ main() fi if [ "${_IS_VERBOSE}" == true ]; then - _verbose_param="-vv" + _verbose_param="-svv" fi echoInfo "Running test..." # shellcheck disable=SC2086 - python -m pytest -sv ${_coverage_param} ${_logging_param} ${_verbose_param} || exit 2 + python -m pytest -v ${_coverage_param} ${_logging_param} ${_verbose_param} || exit 2 echoOk "Done." } diff --git a/setup.py b/setup.py index 8129976..f15685f 100644 --- a/setup.py +++ b/setup.py @@ -38,7 +38,7 @@ install_requires=[ "PyYAML>=6.0,<7.0", "pydantic>=2.1.1,<3.0.0", - "loguru>=0.7.1,<1.0.0", + "loguru>=0.7.2,<1.0.0", ], classifiers=[ "Development Status :: 4 - Beta",