kotones-auto-assistant/kotonebot/logging/log.py

18 lines
538 B
Python

import logging
from typing import cast
LEVEL_VERBOSE = 5
def enable_verbose():
logging.addLevelName(LEVEL_VERBOSE, 'VERBOSE')
class VerboseLogger(logging.Logger):
def verbose(self, msg, *args, **kwargs):
if self.isEnabledFor(LEVEL_VERBOSE):
self._log(LEVEL_VERBOSE, msg, args, **kwargs)
def getLogger(name: str | None = None) -> VerboseLogger:
logger = logging.getLogger(name)
if not isinstance(logger, VerboseLogger):
logger.__class__ = VerboseLogger
return cast(VerboseLogger, logger)