
    ɯeiU
                    h    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	      Zy)
    )annotationsN)TimedRotatingFileHandler)CONFIG_MANAGER)DIRS)SecretDetectorzpython-connector.logc                  &    e Zd ZdddZdddZd Zy)EasyLoggingConfigPythonc                P    d | _         d | _        d| _        | j                  |       y )NF)pathlevel	save_logsparse_config_file)self"skip_config_file_permissions_checks     g/var/www/html/glpi_dashboard/venv/lib/python3.12/site-packages/snowflake/connector/log_configuration.py__init__z EasyLoggingConfigPython.__init__   s&     $	!%
$AB    c                $   t        j                  |       t         j                  }|j                  d      x}rV|j                  dd      | _        |j                  dd      | _        |j                  dt        j                  j                  t        j                  d            | _        t        j                  j                  | j                        st        d	| j                         t        j                  j                  | j                        s"t        j                  | j                  d
       y t        j                  | j                  t        j                   t        j"                  z        st%        d| j                   d      y y )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   s       r   r   z)EasyLoggingConfigPython.parse_config_file   s   ""(J	
 --((5/!3! WW[%8DN&1DJT5J5JF(STDI77==+'>tyykJ  77>>$)),DII5YYtyy"''BGG*;<% +]^  = "r   c                   | j                   r=t        j                  t        j                  j                  | j                  t              t        j                  | j                               dD ]  }t        j                  |      }|j                  t        j                  | j                               t        t        j                  j                  | j                  t              d      }|j                  t        j                  | j                               |j                  t        d             |j                  |        y y )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chs       r   
create_logz"EasyLoggingConfigPython.create_log,   s    >>dii?**4::6  L & **;7 4 4TZZ @A-GGLLM: G00<="}
 !!"%& r   N)F)r   bool)__name__
__module____qualname__r   r   r:    r   r   r	   r	      s    C.&r   r	   )
__future__r   r/   r   logging.handlersr   "snowflake.connector.config_managerr   snowflake.connector.constantsr   #snowflake.connector.secret_detectorr   r1   r	   r?   r   r   <module>rE      s)    "  	 5 = . >&0& 0&r   