<!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
    Y                 @   sn   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mZ ddl	m
Z
 ddlmZ G dd	 d	ejZdS )
z
raven.handlers.logbook
~~~~~~~~~~~~~~~~~~~~~~

: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)Client)	to_stringc                   s,   e Zd Z fddZdd Zdd Z  ZS )SentryHandlerc                s   t |dkrh|d }t|tr<|dtf d|i|| _n&t|trN|| _ntd| jj|f g }n.y|d| _W n t	k
r   t
dY nX tt| j|| d S )N   r   Z
client_clsZdsnzSThe first argument to %s must be either a Client instance or a DSN, got %r instead.clientz3Expected keyword argument for SentryHandler: client)len
isinstancer   popr   r	   
ValueError	__class____name__KeyError	TypeErrorsuperr   __init__)selfargskwargsarg)r    G/opt/alt/python37/lib/python3.7/site-packages/raven/handlers/logbook.pyr      s    


zSentryHandler.__init__c             C   s   y2|j dr*tt| |tjd d S | |S  tk
r   | j	j
rL tdtjd tt|jtjd ttt  y| j	  W n tk
r   Y nX Y nX d S )N)zsentry.errorsraven)filez>Top level Sentry exception caught - failed creating log record)channel
startswithprintr   formatsysstderr_emit	Exceptionr	   Zraise_send_errorsmsg	traceback
format_excZcaptureException)r   recordr   r   r   emit*   s    
zSentryHandler.emitc             C   s   t |j |jd}d}|j|j| |d}d|jkrJ|jd |d< |j	dksd|j	rt
|j	r| j|}||jf | d}|j	|d< |j|j|j|j|jd}||j | jj|f||d	|S )
N)levelloggerzraven.events.Message)messageparams	formattedZtagsTzraven.events.Exceptionexc_info)linenofilenamefunctionprocessprocess_name)dataextra)logbookZget_level_namer)   lowerr   r$   r   r   r   r.   allr	   Zget_handlerupdatecapturer/   r0   	func_namer2   r3   r5   )r   r'   r4   Z
event_typeZhandler_kwargshandlerr5   r   r   r   r"   >   s.    




zSentryHandler._emit)r   
__module____qualname__r   r(   r"   __classcell__r   r   )r   r   r      s   r   )__doc__
__future__r   r   r6   r    r%   Zraven.utils.compatr   Z
raven.baser   Zraven.utils.encodingr   Handlerr   r   r   r   r   <module>   s   