U \@sddlmZddlZddlZddlmZddlmZmZm Z m Z ddl m Z ejZejZedgZddZGd d d e Zd d Zd dZddZedZddZGdddeje Z!e!Z"Gdddeje Z#dS))absolute_importN)Hub) to_stringevent_from_exceptioncurrent_stacktracecapture_internal_exceptions) Integrationzsentry_sdk.errorscCst|dS)zThis disables the breadcrumb integration for a logger of a specific name. This primary use is for some integrations to disable breadcrumbs of this integration. N)_IGNORED_LOGGERSadd)namer P/opt/alt/python38/lib/python3.8/site-packages/sentry_sdk/integrations/logging.py ignore_loggersrc@s2eZdZdZeefddZddZeddZ dS) LoggingIntegrationloggingcCs8d|_d|_|dk r t|d|_|dk r4t|d|_dS)N)level)_handler_breadcrumb_handlerBreadcrumbHandler EventHandler)selfrZ event_levelr r r __init__'s  zLoggingIntegration.__init__cCsL|jdk r$|j|jjkr$|j||jdk rH|j|jjkrH|j|dSN)rlevelnorhandlerrrecordr r r _handle_record2s  z!LoggingIntegration._handle_recordcs tjjfdd}|tj_dS)Nc s>z||WS|jtkr8tjt}|dk r8||XdSr)r r rcurrentZget_integrationrr)rrZ integrationZold_callhandlersr r sentry_patched_callhandlersBs   zBLoggingIntegration.setup_once..sentry_patched_callhandlers)rZLoggerZ callHandlers)r r rr setup_once=s zLoggingIntegration.setup_onceN) __name__ __module__ __qualname__ identifier DEFAULT_LEVELDEFAULT_EVENT_LEVELrr staticmethodr!r r r r r$s   rcCs |jtkSr)r r rr r r _can_recordSsr*cCs*dt|j|j|jtj|jt|dS)Nlog)tyrcategorymessage timestampdata)_logging_to_event_level levelnamer r.datetime fromtimestampcreated_extra_from_recordr)r r r _breadcrumb_from_recordXs r7cCsddi||S)NZcriticalfatal)getlower)r2r r r r1dsr1)argsr5r0exc_infoZexc_textfilenameZfuncNamer2rZlinennolinenor.moduleZmsecsmsgr pathnameprocessZ processNameZrelativeCreatedstackZtagsthreadZ threadNamecCsddt|DS)NcSs(i|] \}}|tkr|ds||qS)_)COMMON_RECORD_ATTRS startswith).0kvr r r s  z&_extra_from_record..)varsitemsr)r r r r6s r6c@seZdZddZddZdS)rc Cs2t"||||W5QRSQRXdSrrformat_emitrr r r emits zEventHandler.emitc Cst|s dStj}|jdkr dSd}|jj}|jdk r`|jddk r`t|j|dddd\}}nN|jr|jddkri}d}t t|ddddg|d <W5QRXni}t |j |d <|j |d <t |j |jd |d <t||d<|j||ddS)NrrT)typeZhandled)client_optionsZ mechanismZ with_localsF)Z stacktraceZcrashedrthreadsrlogger)r.paramsZlogentryextrahint)r*rrZclientoptionsr<rrrr1r2r rr@r;r6Z capture_event)rrZhubrYrSeventr r r rPs8     zEventHandler._emitNr"r#r$rQrPr r r r rsrc@seZdZddZddZdS)rc Cs2t"||||W5QRSQRXdSrrNrr r r rQs zBreadcrumbHandler.emitcCs(t|s dStjjt|d|iddS)NZ log_recordrX)r*rrZadd_breadcrumbr7rr r r rPs zBreadcrumbHandler._emitNr\r r r r rsr)$ __future__rrr3Zsentry_sdk.hubrZsentry_sdk.utilsrrrrZsentry_sdk.integrationsrZ LogRecordZAnyDictOptionalINFOr&ERRORr'setr rrr*r7r1 frozensetrFr6ZHandlerobjectrZ SentryHandlerrr r r r s(     /  1