
    LMh;
                         d dl Z d dlZd dlZd dl mZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ dZdZd	Zd
eiZdZd
eiZdee         de	egef         fdZdde
e         ddfdZ e             dS )    N)	LogRecord)RotatingFileHandler)Path)CallableOptional)get_log_verbosityKAGGLE_LOGGING_ROOT_DIRKAGGLE_LOGGING_ENABLEDkaggle_fileblockconsoleelementsreturnc                 0     dt           dt          f fd}|S )zFilter to block log statements based on data attributes
    Args:
        elements: The value for the key 'block'. For example log.info("..", extra={"block" : "console"})
    recordr   c                 >    t          | d          r| j        v rdS dS )Nr   FT)hasattrr   )r   r   s    P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/logger.py_filterz)_block_logrecord_factory.<locals>._filter   s,    67## 	|x''ut    )r   bool)r   r   s   ` r   _block_logrecord_factoryr      s6    	 d       Nr   log_dirc                    t                               d          d         }t          j        |          }|j        rG|j                                        }|j        r |j                                         |j         |j        Gt          j        	                    t          d          }|                                dv rt          t          j        	                    t          t          j                                        }| |dz  dz  n| } |                     dd           t!          t#          | d	z            d
dd          }|                    t'          t(          g                     t          j        d          }|                    |           |                    t          j                   |                    |           t          j        t6          j                  }|                    t'          t:          g                     |                    t=                                 |                    |           d|_        |                    t=                                 d S )N.r   false)true1z.kagglelogsT)exist_okparentszkagglehub.logi  P    )maxBytesbackupCountdelayzT%(asctime)s - %(name)s - %(levelname)s - %(threadName)s - %(funcName)s - %(message)sF) __name__splitlogging	getLoggerhandlerspopfiltersosenvironget#KAGGLE_LOGGING_ENABLED_ENV_VAR_NAMElowerr   $KAGGLE_LOGGING_ROOT_DIR_ENV_VAR_NAMEhomemkdirr   str	addFilterr   _FILE_BLOCK_KEY	FormattersetFormattersetLevelDEBUG
addHandlerStreamHandlersysstdout_CONSOLE_BLOCK_KEYr   	propagate)	r   library_namelibrary_loggerhandlerlogging_enabledlog_root_dirfile_handler	formattershs	            r   _configure_loggerrJ   #   s/   >>#&&q)L&|44N

! " )--//o 	"O!!! o 	" 
! " jnn%H'RRO-//BJNN+OQUQZQ\Q\]]^^7>,*V33GtT222*/)**_RS[_
 
 
 	78IJJKKK%b
 
	 	!!),,,gm,,,!!,///		sz	*	*BLL)+=*>??@@@KK!##$$$b!!!  %N-//00000r   )N)r(   r-   r>   r   logging.handlersr   pathlibr   typingr   r   kagglehub.configr   r2   r0   r7   EXTRA_FILE_BLOCKr@   EXTRA_CONSOLE_BLOCKlistr5   r   r   rJ    r   r   <module>rS      s#    				 



       0 0 0 0 0 0       % % % % % % % % . . . . . .'@ $&> #_-   23 tCy Xyk4>O5P    1 1x~ 1 1 1 1 1@       r   