<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    Yp                 @   s   d Z ddlmZ ddlmZ ddlZddlZddlZddlZddlm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ ed	Zefd
dZG dd dejeZdS )z
raven.handlers.logging
~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
    )absolute_import)print_functionN)string_types	iteritems	text_type)Client)	to_string)iter_stack_frames)stacknamemodulefuncNameargsmsglevelnoexc_textexc_infodatacreated	levelnamemsecsrelativeCreatedtagsmessagec             C   s   i }t | dd }t|ts,|r(d|i}ni }xPtt| D ]@\}}||krLq:|drXq:d|krr|dkrr|||< q:|||< q:W ||fS )Nr   _.)ZculpritZserver_nameZfingerprint)getattr
isinstancedictr   vars
startswith)recordreservedr   extrakv r&   G/opt/alt/python37/lib/python3.7/site-packages/raven/handlers/logging.pyextract_extra   s    



r(   c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )SentryHandlerc             O   s   | dt}t|dkrh|d }t|tr@|f d|i|| _qt|trR|| _qtd| jj|f n d|kr||d | _n|||| _|	dd | _
tjj| | dtjd	 d S )
NZ
client_cls   r   ZdsnzSThe first argument to %s must be either a Client instance or a DSN, got %r instead.clientr   level)r,   )getr   lenr   r   r+   
ValueError	__class____name__popr   loggingHandler__init__NOTSET)selfr   kwargsr+   argr&   r&   r'   r5   5   s    

zSentryHandler.__init__c             C   s   |j dkp|j d S )Nraven)zsentry.errorszraven.)r   r    )r7   r!   r&   r&   r'   
can_recordJ   s    
zSentryHandler.can_recordc             C   s   y6|  | | |s.tt|jtjd d S | |S  tk
r   | j	j
rP tdtjd tt|jtjd ttt tjd Y nX d S )N)filez>Top level Sentry exception caught - failed creating log record)formatr;   printr   r   sysstderr_emit	Exceptionr+   Zraise_send_errorsr   	traceback
format_exc)r7   r!   r&   r&   r'   emitP   s    



zSentryHandler.emitc             C   s   t |}g }d}d}x~|D ]v}t|t tfr6|\}}n||j }}|st|di }	|	dd}
|r||dr||
ds|d}n|
}q|||f qW |s|S |S )NF 	f_globalsr1   r3   T)listr   tuplef_linenor   r-   r    append)r7   r
   r!   framesstartedZlast_moditemframelinenorG   module_namer&   r&   r'   _get_targetted_stackb   s(    


z"SentryHandler._get_targetted_stackc             K   s  t |\}}t|dd }|dkr&t }|r6| ||}tj|j}d}d|ji}yt|j	|d< W n* t
k
r   t|j	dd |d< Y nX yt|j|d< W n* t
k
r   t|jdd |d< Y nX |jrt|jr| j|}	||	jf | d	}d
|ji}|j|d< |j|d< i  |d< }
| jrB|
| j |
t|di  || |dd }| jj|f|||||d|S )Nr
   Tzraven.events.Messageparamsr   r*   	formattedzraven.events.Exceptionr   r,   loggerr   sample_rate)r
   r   r#   daterW   )r(   r   r	   rR   datetimeutcfromtimestampr   r   r   r   UnicodeDecodeErrorreprr   r   allr+   Zget_handlerupdatecapturer   r   r   r2   )r7   r!   r8   r   r#   r
   rX   Z
event_typeZhandler_kwargshandlerr   rW   r&   r&   r'   rA      sD    





zSentryHandler._emitN)r1   
__module____qualname__r5   r;   rE   rR   rA   r&   r&   r&   r'   r)   4   s
   r)   )__doc__
__future__r   r   rY   r3   r?   rC   Zraven.utils.compatr   r   r   Z
raven.baser   Zraven.utils.encodingr   Zraven.utils.stacksr	   	frozensetZRESERVEDr(   r4   objectr)   r&   r&   r&   r'   <module>   s   