o
    RDiU
                     @  sb   d dl m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 dZG dd	 d	ZdS )
    )annotationsN)TimedRotatingFileHandler)CONFIG_MANAGER)DIRS)SecretDetectorzpython-connector.logc                   @  s,   e Zd ZddddZddddZdd	 Zd
S )EasyLoggingConfigPythonF"skip_config_file_permissions_checkboolc                 C  s    d | _ d | _d| _| | d S )NF)pathlevel	save_logsparse_config_file)selfr    r   ^/var/www/Datamplify/venv/lib/python3.10/site-packages/snowflake/connector/log_configuration.py__init__   s   z EasyLoggingConfigPython.__init__c                 C  s   t j|d t j}|d }r_|dd| _|dd| _|dtjt	j
d| _tj| js:td	| j tj| jsKtj| jd
d d S t| jtjtjB satd| j dd S d S )N)skip_file_permissions_checklogr   Fr   INFOr
   logsz(Log path must be an absolute file path: T)exist_okz
log path: z2 is not accessible, please verify your config file)r   read_configconf_file_cachegetr   r   osr
   joinr   user_config_pathisabsFileNotFoundErrorexistsmakedirsaccessR_OKW_OKPermissionError)r   r   datar   r   r   r   r      s(   
z)EasyLoggingConfigPython.parse_config_filec                 C  s   | j rHtjtj| jtt| jd dD ]3}t	|}|
t| j ttj| jtdd}|
t| j |td || qd S d S )N)filenamer   )zsnowflake.connectorbotocoreboto3midnight)whenzc%(asctime)s - %(threadName)s %(filename)s:%(lineno)d - %(funcName)s() - %(levelname)s - %(message)s)r   loggingbasicConfigr   r
   r   LOG_FILE_NAMEgetLevelNamer   	getLoggersetLevelr   setFormatterr   
addHandler)r   logger_nameloggerchr   r   r   
create_log,   s(   

z"EasyLoggingConfigPython.create_logN)F)r   r	   )__name__
__module____qualname__r   r   r6   r   r   r   r   r      s    r   )
__future__r   r+   r   logging.handlersr   "snowflake.connector.config_managerr   snowflake.connector.constantsr   #snowflake.connector.secret_detectorr   r-   r   r   r   r   r   <module>   s    