a
    ›`ç  ã                   @   s~   d Z ddlZddlZe e¡Ze e ¡ ¡ dZ	e
dd„ e	 d¡D ƒƒZdZe ed¡ ejejed	œZd
Zdefdd„ZdS )zìTop-level module for Flake8.

This module

- initializes logging for the command-line tool
- tracks the version of the package
- provides a way to configure logging for the command-line tool

.. autofunction:: flake8.configure_logging

é    Nz3.9.2c                 c   s   | ]}|  ¡ rt|ƒV  qd S )N)ÚisdigitÚint)Ú.0Úi© r   ú.lib/python3.9/site-packages/flake8/__init__.pyÚ	<genexpr>   s   r   Ú.é   ÚVERBOSE)é   é   é   zO%(name)-25s %(processName)-11s %(relativeCreated)6d %(levelname)-8s %(message)sc                 C   sŠ   | dkrdS | dkrd} t |  }|r,|dv rBtt|p6dƒ}tj}n
|}tj}||ƒ}| t |¡¡ t 	|¡ t 
|¡ t d|t¡ dS )aQ  Configure logging for flake8.

    :param int verbosity:
        How verbose to be in logging information.
    :param str filename:
        Name of the file to append log information to.
        If ``None`` this will log to ``sys.stderr``.
        If the name is "stdout" or "stderr" this will log to the appropriate
        stream.
    r   Nr   )ÚstderrÚstdoutr   z/Added a %s logging handler to logger root at %s)Ú_VERBOSITY_TO_LOG_LEVELÚgetattrÚsysÚloggingZStreamHandlerZFileHandlerZsetFormatterZ	FormatterÚLOGÚ
addHandlerZsetLevelÚdebugÚ__name__)Ú	verbosityÚfilenameZ	logformatZ	log_levelZfileobjZhandler_clsZhandlerr   r   r   Úconfigure_logging/   s"    

ÿr   )Ú__doc__r   r   ÚTypeZ	getLoggerr   r   r   ZNullHandlerÚ__version__ÚtupleÚsplitZ__version_info__Z_EXTRA_VERBOSEZaddLevelNameÚINFOÚDEBUGr   Z
LOG_FORMATr   r   r   r   r   Ú<module>   s"   
ÿú
ÿ