]>
jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_internal/utils/_log.py
3 Defines custom logger class for the `logger.verbose(...)` method.
5 init_logging() must be called before any other modules that call logging.getLogger.
9 from typing
import Any
, cast
11 # custom log level for `--verbose` output
12 # between DEBUG and INFO
16 class VerboseLogger(logging
.Logger
):
17 """Custom Logger, defining a verbose log-level
19 VERBOSE is between INFO and DEBUG.
22 def verbose(self
, msg
: str, *args
: Any
, **kwargs
: Any
) -> None:
23 return self
.log(VERBOSE
, msg
, *args
, **kwargs
)
26 def getLogger(name
: str) -> VerboseLogger
:
27 """logging.getLogger, but ensures our VerboseLogger class is returned"""
28 return cast(VerboseLogger
, logging
.getLogger(name
))
31 def init_logging() -> None:
32 """Register our VerboseLogger and VERBOSE log level.
34 Should be called before any calls to getLogger(),
35 i.e. in pip._internal.__init__
37 logging
.setLoggerClass(VerboseLogger
)
38 logging
.addLevelName(VERBOSE
, "VERBOSE")