Hacked By AnonymousFox
U
e5d� � @ sN d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
mZmZ dZ
ejZdad+dd�Zdd � Zd
d� Zdd
� Zdd� Zdd� Zdd� Zdd� Ze�dej�Zdd� ZG dd� de�ZG dd� dee�Z G dd� de!e�Z"G dd � d e#e�Z$G d!d"� d"e�Z%G d#d$� d$e%�Z&e&Z'd%d&� Z(e
dfd'd(�Z)d)d*� Z*dS ),a
Configuration functions for the logging package for Python. The core package
is based on PEP 282 and comments thereto in comp.lang.python, and influenced
by Apache's log4j system.
Copyright (C) 2001-2019 Vinay Sajip. All Rights Reserved.
To use, simply 'import logging' and log away!
� N)�ThreadingTCPServer�StreamRequestHandleriF# Tc C s� ddl }t| |j�r| }n*|�|�}t| d�r:|�| � n
|�| � t|�}t� � z t� t||�}t
|||� W 5 t�
� X dS )aD
Read the logging configuration from a ConfigParser-format file.
This can be called several times from an application, allowing an end user
the ability to select from various pre-canned configurations (if the
developer provides a mechanism to present the choices and load the chosen
configuration).
r N�readline)�configparser�
isinstanceZRawConfigParserZConfigParser�hasattrZ read_file�read�_create_formatters�logging�_acquireLock�_releaseLock�_clearExistingHandlers�_install_handlers�_install_loggers)Zfname�defaults�disable_existing_loggersr �cp�
formatters�handlers� r �&/usr/lib64/python3.8/logging/config.py�
fileConfig3 s
r c C sl | � d�} | �d�}t|�}| D ]F}|d | }zt||�}W q tk
rd t|� t||�}Y q X q |S )z)Resolve a dotted name to a global object.�.r )�split�pop�
__import__�getattr�AttributeError)�name�used�found�nr r r �_resolveU s
r"