File: //home/arjun/projects/env/lib/python3.10/site-packages/flask/__pycache__/logging.cpython-310.pyc
o
'we � @ s� d dl mZ d dlZd dlZd dlZd dlmZ ddlm Z ej
r'ddlmZ edd d
��Z
ddd�Ze�e
�Ze�e�d�� ddd�ZdS )� )�annotationsN)�
LocalProxy� )�request)�Flask�return�t.TextIOc C s t rt jd S tjS )a� Find the most appropriate error stream for the application. If a request
is active, log to ``wsgi.errors``, otherwise use ``sys.stderr``.
If you configure your own :class:`logging.StreamHandler`, you may want to
use this for the stream. If you are using file or dict configuration and
can't import this directly, you can refer to it as
``ext://flask.logging.wsgi_errors_stream``.
zwsgi.errors)r �environ�sys�stderr� r r �F/home/arjun/projects/env/lib/python3.10/site-packages/flask/logging.py�wsgi_errors_stream s
r �logger�logging.Logger�boolc sF | � � � | }|r!t� fdd�|jD ��rdS |js dS |j}|sdS )z�Check if there is a handler in the logging chain that will handle the
given logger's :meth:`effective level <~logging.Logger.getEffectiveLevel>`.
c 3 s � | ]}|j � kV qd S )N��level)�.0�handlerr r r
� <genexpr>$ s � z$has_level_handler.<locals>.<genexpr>TF)�getEffectiveLevel�any�handlers� propagate�parent)r �currentr r r
�has_level_handler s �� r z6[%(asctime)s] %(levelname)s in %(module)s: %(message)s�appr c C s: t �| j�}| jr|js|�t j� t|�s|�t � |S )a� Get the Flask app's logger and configure it if needed.
The logger name will be the same as
:attr:`app.import_name <flask.Flask.name>`.
When :attr:`~flask.Flask.debug` is enabled, set the logger level to
:data:`logging.DEBUG` if it is not set.
If there is no handler for the logger's effective level, add a
:class:`~logging.StreamHandler` for
:func:`~flask.logging.wsgi_errors_stream` with a basic format.
)
�logging� getLogger�name�debugr �setLevel�DEBUGr �
addHandler�default_handler)r r r r r
�
create_logger7 s
r'