o
    c                     @   sR   d Z ddlZddlmZmZ dZG dd dejZdedefd	d
Z	dddZ
dS )zCustomize logging

Defines custom logger class for the `logger.verbose(...)` method.

init_logging() must be called before any other modules that call logging.getLogger.
    N)Anycast   c                   @   s*   e Zd ZdZdedededdfddZdS )	VerboseLoggerzXCustom Logger, defining a verbose log-level

    VERBOSE is between INFO and DEBUG.
    msgargskwargsreturnNc                 O   s   | j t|g|R i |S )N)logVERBOSE)selfr   r   r    r   E/opt/certbot/lib/python3.10/site-packages/pip/_internal/utils/_log.pyverbose   s   zVerboseLogger.verbose)__name__
__module____qualname____doc__strr   r   r   r   r   r   r      s    r   namer	   c                 C   s   t tt| S )zBlogging.getLogger, but ensures our VerboseLogger class is returned)r   r   logging	getLogger)r   r   r   r   r      s   r   c                   C   s   t t t td dS )zRegister our VerboseLogger and VERBOSE log level.

    Should be called before any calls to getLogger(),
    i.e. in pip._internal.__init__
    r   N)r   setLoggerClassr   addLevelNamer   r   r   r   r   init_logging   s   
r   )r	   N)r   r   typingr   r   r   Loggerr   r   r   r   r   r   r   r   <module>   s    
